Mybatis mapper代理开发方法实现增删改查

接着上一篇文章:Mybatis原生dao开发方法实现增删改查 写

思路

程序员编写 mapper 接口的时候,要遵循一些开发规范,Mybatis 可以自动生成 mapper 接口实现类代理对象。

开发规范:

1、在 mapper.xml 中 namespace 等于 mapper 接口地址


 

2、mapper.java 接口中的方法名和 mapper.xml 和 statement 的 id 一致



 

3、mapper.java 接口中方法输入参数类型 和 mapper.xml 中 statement 的parameterType 指定的类型一致


Mybatis mapper代理开发方法实现增删改查_第1张图片

 

4、mapper.java 接口中方法返回值类型和 mapper.xml 中的 statement 的 resultType 指定的类型一致



 

总结:

以上规范主要是对下边的代码进行统一生成

  1. User user = sqlSession.selectOne("test.findUserById",2);
  2. List list = sqlSession.selectList("test.findUserByName",username);
  3. sqlSession.insert("test.insertUser",user);
  4. sqlSession.delete("test.deleteUserById",id);
  5. sqlSession.update("test.updateUserById",user);

 

项目准备

同上篇文章基本相同

1、项目结构

① 新建 Java 项目

② 在 src 下新建 com.liuyanzhao.mybatis.po 包(用来放持久化类,和数据库对应)

和 com.liuyanzhao.mybatis.mapper 包 (用来放 CURD 实现代码)

③ 在 src 下新建(或者拷贝)Configuration.xml (mybatis全局配置文件)和 UserMapper.xml (映射文件)

 

2、导入 两个必备的 jar 包

  • mysql-jdbc 驱动包: mysql-connector-java-5.1.41-bin.jar
  • mybatis 包:mybatis-3.4.4.jar

在项目中新建一个 lib 目录,将两个包拷贝到 lib 中,然后将两个包加入环境(build path)中

 

3、新建数据库和数据表

我这里在本地测试,主机 localhost,数据库用户名root,密码为空

① 新建数据库:mybatis

② 新建数据表:user表

表结构如下,五个字段(id,username,gender,birthday,address)

Mybatis mapper代理开发方法实现增删改查_第2张图片

 

代码实现

1、Configuration.xml   Mybatis 全局配置文件

  1. xml version="1.0" encoding="UTF-8" ?>
  2.     PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
  3.     "http://mybatis.org/dtd/mybatis-3-config.dtd">
  4. <configuration>
  5.   
  6.   <environments default="development">
  7.     <environment id="development">
  8.       
  9.       <transactionManager type="JDBC">
  10.         <property name="" value=""/>
  11.       transactionManager>
  12.       
  13.       <dataSource type="UNPOOLED">
  14.         <property name="driver" value="com.mysql.jdbc.Driver"/>
  15.         <property name="url" value="jdbc:mysql://localhost:3306/mybatis?useUnicode=true&characterEncoding=utf8"/>
  16.         <property name="username" value="root"/>
  17.         <property name="password" value=""/>
  18.       dataSource>
  19.     environment>
  20.   environments>
  21.   
  22.   <mappers>
  23.     <mapper resource="UserMapper.xml" />
  24.   mappers>
  25. configuration>

记得添加 映射文件

 

2、UserMapper.xml

  1. xml version="1.0" encoding="UTF-8" ?>
  2.         PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  3.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  4.     
  5.     <select id="findUserByName" parameterType="java.lang.String" resultType="com.liuyanzhao.mybatis.po.User">
  6.         SELECT * FROM user WHERE username LIKE '%${value}%'
  7.     select>
  8.     
  9.     
  10.     <insert id="insertUser" parameterType="com.liuyanzhao.mybatis.po.User">
  11.      
  12.     <delete id="deleteUserById" parameterType="java.lang.Integer">
  13.         DELETE FROM user WHERE id=#{id}
  14.     delete>
  15.     

你可能感兴趣的:(Mybatis)