Mybatis快速入门

* 使用mybatis举例,使用XML方式实现
* 1、导入jar包:mybatis和mysql-connector
* 2、mybatis配置文件:mybatis-config.xml,指定加载Mapper文件路径
* 3、编写JavaBean类:UserBean
* 4、Mapper配置文件:UserMapper.xml
* 5、编写测试类进行测试

pom.xml文件关键内容如下:
 <properties>
        <mybatis>3.4.5</mybatis>
        <mysql-connector>5.1.45</mysql-connector>
    </properties>

    <dependencies>
        <!-- https://mvnrepository.com/artifact/org.mybatis/mybatis -->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>${mybatis}</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>${mysql-connector}</version>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
        </dependency>

    </dependencies>

mybatis-config.xml

 1 <?xml version="1.0" encoding="UTF-8" ?>
 2 <!DOCTYPE configuration
 3         PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
 4         "http://mybatis.org/dtd/mybatis-3-config.dtd">
 5 <configuration>
 6     <!--从外部配置文件导入jdbc信息-->
 7     <properties resource="jdbc.properties"></properties>
 8 
 9     <environments default="development">
10         <environment id="development">
11             <transactionManager type="JDBC"/>
12             <dataSource type="POOLED">
13                 <property name="driver" value="${driver}"/>
14                 <property name="url" value="${url}"/>
15                 <property name="username" value="${username}"/>
16                 <property name="password" value="${password}"/>
17             </dataSource>
18         </environment>
19     </environments>
20 
21     <!--指定映射资源文件-->
22     <mappers>
23         <!--<mapper resource="UserBean.xml"/>-->
24         <mapper resource="first/UserMapper.xml"/>
25 
26     </mappers>
27 </configuration>

jdbc.properties

1 # jdbc连接信息
2 driver=com.mysql.jdbc.Driver
3 url=jdbc:mysql://192.168.184.130:3306/gxrdb
4 username=root
5 password=root

UserMapper.xml

 1 <?xml version="1.0" encoding="UTF-8" ?>
 2 <!DOCTYPE mapper
 3         PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 4         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 5 
 6 <mapper namespace="first.UserBean">
 7     <!--id:名称; parameterType传入参数类型; resultType:返回数据类型-->
 8     <select id="selectOneUser" parameterType="int" resultType="first.UserBean">
 9         select * from user where id = #{id}
10     </select>
11 
12     <!--批量查询-->
13     <select id="selectAllUser" resultMap="userList">
14         select * from user
15     </select>
16     <resultMap type="first.UserBean" id="userList">
17         <result property="id" column="id"/>
18         <result property="name" column="name"/>
19         <result property="age" column="age"/>
20     </resultMap>
21 
22     <insert id="insertUser" useGeneratedKeys="true" keyProperty="id">
23         insert into user (id, name, age) values (#{id} ,#{name}, #{age})
24     </insert>
25 
26     <update id="updateUser">
27       update user set name=#{name} where id=#{id}
28    </update>
29 
30     <delete id="deleteUser">
31         delete from user where id=#{id}
32     </delete>
33 
34 
35 </mapper>

UserBean.class

 1 package first;
 2 
 3 /**
 4  * 数据封装类
 5  * JavaBean
 6  */
 7 public class UserBean {
 8     private int id;
 9     private String name;
10     private String age;
11 
12     public UserBean() {
13 
14     }
15 
16     public UserBean(String name, String age) {
17         this.name = name;
18         this.age = age;
19     }
20 
21     public UserBean(int id, String name, String age) {
22         this.id = id;
23         this.name = name;
24         this.age = age;
25     }
26 
27     public String getName() {
28         return name;
29     }
30 
31     public void setName(String name) {
32         this.name = name;
33     }
34 
35     public String getAge() {
36         return age;
37     }
38 
39     public void setAge(String age) {
40         this.age = age;
41     }
42 
43     public int getId() {
44         return id;
45     }
46 
47     public void setId(int id) {
48         this.id = id;
49     }
50 
51     @Override
52     public String toString() {
53         return "UserBean{id:" + id + "; 姓名:" + name + "; 年龄:" + age + "}";
54     }
55 }

TestFirst.class

  1 package first;
  2 
  3 import org.apache.ibatis.io.Resources;
  4 import org.apache.ibatis.session.SqlSession;
  5 import org.apache.ibatis.session.SqlSessionFactory;
  6 import org.apache.ibatis.session.SqlSessionFactoryBuilder;
  7 import org.junit.Ignore;
  8 import org.junit.Test;
  9 
 10 import java.io.IOException;
 11 import java.io.InputStream;
 12 import java.util.List;
 13 
 14 /*
 15 * 使用mybatis举例,使用XML方式实现
 16 * 1、导入jar包:mybatis和mysql-connector
 17 * 2、mybatis配置文件:mybatis-config.xml,指定加载Mapper文件路径
 18 * 3、编写JavaBean类:UserBean
 19 * 4、Mapper配置文件:UserMapper.xml
 20 * 5、编写测试类进行测试
 21 * */
 22 public class TestFirst {
 23 
 24     @Test
 25     public void testSelectOneUser() {
 26         SqlSession session = null;
 27         try {
 28 //            mybatis配置文件
 29             String resource = "mybatis-config.xml";
 30             InputStream inputStream = Resources.getResourceAsStream(resource);
 31 //            创建工厂
 32             SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
 33 //            创建session对象
 34             session = sqlSessionFactory.openSession();
 35 //            执行sql,返回对象
 36             UserBean userMapper = session.selectOne("first.UserBean.selectOneUser", 1);
 37             System.out.println(userMapper);
 38             UserBean userMapper2 = session.selectOne("first.UserBean.selectOneUser", 4);
 39             System.out.println(userMapper2);
 40 
 41 //            批量查询
 42             List<UserBean> listUserBean = session.selectList("first.UserBean.selectAllUser");
 43             System.out.println("记录个数:" + listUserBean.size());
 44             System.out.println(listUserBean);
 45 
 46         } catch (IOException e) {
 47             e.printStackTrace();
 48         } finally {
 49             session.close();
 50         }
 51     }
 52 
 53     @Ignore
 54     @Test
 55     public void testInsertUser() {
 56         SqlSession session = null;
 57         try {
 58 //            mybatis配置文件
 59             String resource = "mybatis-config.xml";
 60             InputStream inputStream = Resources.getResourceAsStream(resource);
 61 //            创建工厂
 62             SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
 63 //            创建session对象
 64             session = sqlSessionFactory.openSession();
 65 //            执行sql,返回对象
 66             UserBean userBean = new UserBean("CoCo", "40");
 67             int n = session.insert("first.UserBean.insertUser", userBean);
 68 //            提交
 69             session.commit();
 70             System.out.println("插入数据成功:" + userBean);
 71 
 72         } catch (IOException e) {
 73             e.printStackTrace();
 74         } finally {
 75             session.close();
 76         }
 77     }
 78 
 79     @Ignore
 80     @Test
 81     public void testUpdateUser() {
 82         SqlSession session = null;
 83         try {
 84 //            mybatis配置文件
 85             String resource = "mybatis-config.xml";
 86             InputStream inputStream = Resources.getResourceAsStream(resource);
 87 //            创建工厂
 88             SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
 89 //            创建session对象
 90             session = sqlSessionFactory.openSession();
 91 //            执行sql,返回对象
 92             UserBean userBean = new UserBean(2, "Tom33", "40");
 93             int n = session.insert("first.UserBean.updateUser", userBean);
 94             session.commit();
 95             System.out.println("修改数据成功:" + userBean);
 96 
 97         } catch (IOException e) {
 98             e.printStackTrace();
 99         } finally {
100             session.close();
101         }
102     }
103 
104     @Ignore
105     @Test
106     public void testDeleteUser() {
107         SqlSession session = null;
108         try {
109 //            mybatis配置文件
110             String resource = "mybatis-config.xml";
111             InputStream inputStream = Resources.getResourceAsStream(resource);
112 //            创建工厂
113             SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
114 //            创建session对象
115             session = sqlSessionFactory.openSession();
116 //            执行sql,返回对象
117             UserBean userBean = new UserBean(13, "XXX", "40");
118             int n = session.insert("first.UserBean.deleteUser", userBean);
119             session.commit();
120             System.out.println("删除数据成功:" + userBean);
121             System.out.println("操作成功记录数:" + n);
122 
123         } catch (IOException e) {
124             e.printStackTrace();
125         } finally {
126             session.close();
127         }
128     }
129 
130 }
原文地址:https://www.cnblogs.com/gongxr/p/8288059.html