您的位置:首页 > 数据库 > MySQL

Mybatis3.2.3+mysql第一个例子(入门) | (转)

2014-03-09 10:37 555 查看

Mybatis3.2.3+mysql第一个例子(入门)

10-15

mybatis
罗生沙 525 views

Mybatis3.2.3+mysql第一个例子(入门)

10-15 525 views

        每当我们接触到一个新的框架时,很多人会选择把所有的文档读完,把别人的视频看完(以前我也一样),但是当你把所有的东西(文档、视频)都看完后来做第一个例子,发现你根本就无从下手,效率非常低下。我现在的做法是先到官网看搭建框架的五分钟教程,把框架先搭起来,运行第一个例子,希望看到这边的文章的童鞋们也采用这套做法,不要再继续做无用功了。

Mybatis3.2.3下载:http://code.google.com/p/mybatis/downloads/list?can=3&q=Product%3DMyBatis

官方中文文档:http://mybatis.github.io/mybatis-3/zh/index.html

下面我们来运行第一个mybatis3.2.3例子:

1、jdk、tomcat(或者其他web容器),必需的。

2、创建一个web项目

3、解压mybatis3.2.3.zip文件,把mybatis-3.2.3.jar和lib目录下的所有jar包复制到WEB-INF/lib

4、复制mysql-connector-java-5.1.14.jar到WEB-INF/lib

5、在mysql创建一个mybatis数据库,新建一个user表,里面有id,name,password。

6、新建一个实体User

package com.luoshengsha.bean;
public class User {
/**id**/
private String id;
/**用户名**/
private String name;
/**密码**/
private String password;

//set和get方法--注意:不能少
}

7、创建一个userMapper

package com.luoshengsha.mapper;
import com.luoshengsha.bean.User;
public interface UserMapper {
/**保存**/
public void save(User user);
/**修改**/
public void update(User user);
/**查找**/
public User find(String id);
/**删除**/
public void delete(String id);
}

8、创建一个userMapper.xml(名字和userMapper类对应,且放到同一目录下)

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.luoshengsha.mapper.UserMapper"><!--注意:此处的命名空间是UserMapper的全限定类名-->

<!-- 保存 -->
<insert id="save" parameterType="user">
insert into user(id,name,password) values(#{id},#{name},#{password})
</insert>

<!-- 更新 -->
<update id="update" parameterType="user">
update user set name=#{name},password=#{password} where id=#{id}
</update>

<!-- 查找 -->
<select id="find" parameterType="string" resultType="user">
select * from user where id=#{id}
</select>

<!-- 删除 -->
<delete id="delete" parameterType="string">
delete from user where id=#{id}
</delete>
</mapper>

9、在classpath下创建mybatis-confi.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<settings>
<!-- 全局启用或禁用延迟加载。当禁用时,所有关联对象都会即时加载。默认:true -->
<setting name="lazyLoadingEnabled" value="true"/>

<!-- 当启用时,有延迟加载属性的对象在被调用时将会完全加载任意属性。否则,每种属性将会按需要加载 -->
<setting name="aggressiveLazyLoading" value="false"/>
</settings>

<typeAliases>
<typeAlias type="com.luoshengsha.bean.User" alias="user"/><!--设置别名-->
</typeAliases>

<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="org.gjt.mm.mysql.Driver"/>
<property name="url" value="jdbc:mysql://127.0.0.1:3306/mybatis?useUnicode=true&characterEncoding=UTF-8"/><!--url中的&要用&代替,否则会出错-->
<property name="username" value="root"/>
<property name="password" value="root"/>
</dataSource>
</environment>
</environments>

<mappers>
<mapper resource="com/luoshengsha/mapper/UserMapper.xml"/><!--mapper对应的xml配置文件-->
</mappers>
</configuration>

10、在classpath下创建log4j.properties,用于日志输出

log4j.rootLogger=debug, Console
#Console
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n

log4j.logger.java.sql.ResultSet=DEBUG
log4j.logger.org.apache=DEBUG
log4j.logger.java.sql.Connection=DEBUG
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sql.PreparedStatement=DEBUG

11、创建MybatisUtil类,用于获取SqlSessionFactory

package com.luoshengsha.utils;
import java.io.Reader;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
public class MybatisUtil {
private static SqlSessionFactory sqlMapper;
private static Reader reader;

static {
try {
reader = Resources.getResourceAsReader("mybatis-config.xml");
sqlMapper = new SqlSessionFactoryBuilder().build(reader);
} catch (Exception e) {
e.printStackTrace();
}
}

public static SqlSessionFactory getInstance() {
return sqlMapper;
}
}

12、单元测试类

package com.luoshengsha.test;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.junit.Test;
import com.luoshengsha.bean.User;
import com.luoshengsha.mapper.UserMapper;
import com.luoshengsha.utils.MybatisUtil;
public class MybatisTest {
private SqlSessionFactory sessionFactory= MybatisUtil.getInstance();

@Test
public void save() {
SqlSession session = sessionFactory.openSession();
try {
UserMapper userMapper = session.getMapper(UserMapper.class);

User user = new User();
user.setId("1");
user.setName("张三");
user.setPassword("123456");

userMapper.save(user);
session.commit();//提交事务
} catch (Exception e) {
e.printStackTrace();
} finally {
session.close();
}
}

@Test
public void update() {
SqlSession session = sessionFactory.openSession();
try {
UserMapper userMapper = session.getMapper(UserMapper.class);

User user = userMapper.find("1");
user.setName("李四");

userMapper.update(user);
session.commit();//提交事务
} catch (Exception e) {
e.printStackTrace();
} finally {
session.close();
}
}

@Test
public void find() {
SqlSession session = sessionFactory.openSession();
try {
UserMapper userMapper = session.getMapper(UserMapper.class);

User user = userMapper.find("1");

System.out.println("id : " + user.getId() + ", name : " + user.getName() + ", password : " + user.getPassword());
} catch (Exception e) {
e.printStackTrace();
} finally {
session.close();
}
}

@Test
public void delete() {
SqlSession session = sessionFactory.openSession();
try {
UserMapper userMapper = session.getMapper(UserMapper.class);

userMapper.delete("1");
session.commit();//提交事务
} catch (Exception e) {
e.printStackTrace();
} finally {
session.close();
}
}

}

13、整个项目的目录结构如下:





14、源码下载地址:http://pan.baidu.com/s/1gOL9a(源码中包含用servlet调用mybatis)

     (1)、http://localhost:8080/mybatisTest/UserServlet?action=save //添加用户

     (2)、http://localhost:8080/mybatisTest/UserServlet?action=update&id=1 //更新用户

    (3)、http://localhost:8080/mybatisTest/UserServlet?action=find&id=1 //查找用户

    (4)、http://localhost:8080/mybatisTest/UserServlet?action=delete&id=1 //删除用户

本文出自
luoshengsha.com,转载时请注明出处及相应链接。
本文永久链接: http://www.luoshengsha.com/266.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mysql mybatis