zoukankan      html  css  js  c++  java
  • 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 }
  • 相关阅读:
    java web设置全局context参数
    tomcat ider配置
    JDBC Druid式link
    JDBC c3p0
    JDBCUtils 工具类
    顺序栈
    线性表链式存储结构的实现的使用
    线性表顺序存储结构的实现和运用
    Mat类下的data指针的深刻理解
    Mat类下几个属性的理解
  • 原文地址:https://www.cnblogs.com/gongxr/p/8288059.html
Copyright © 2011-2022 走看看