MyBatis开发Dao层的两种方式(Mapper动态代理方式)

  Mapper接口开发方法只需要程序员编写Mapper接口(相当于Dao接口),由Mybatis框架根据接口定义创建接口的动态代理对象,代理对象的方法体同上一篇博客中Dao接口实现类方法。

  Mapper接口开发需要遵循以下规范:

    (1)Mapper.xml文件中的namespace与mapper接口的类路径相同。

    (2)Mapper接口方法名和Mapper.xml中定义的每个statement的id相同

    (3)Mapper接口方法的输入参数类型和mapper.xml中定义的每个sql 的parameterType的类型相同

    (4)Mapper接口方法的输出参数类型和mapper.xml中定义的每个sql的resultType的类型相同

  1、定义mapper映射文件UserMapper.xml(内容同User.xml),需要修改namespace的值为 UserMapper接口路径。将UserMapper.xml放在classpath 下sqlmapperr目录下。

<?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.xyfer.mapper.UserMapper"> <!-- 根据id查询用户 --> <select id="getUserById" parameterType="int" resultType="com.xyfer.po.User"> select * from user where id = #{id} </select> <!-- 添加用户 --> <insert id="insertUser" parameterType="com.xyfer.po.User"> <selectKey keyProperty="id" order="AFTER" resultType="java.lang.Integer"> select LAST_INSERT_ID() </selectKey> insert into user(username,birthday,sex,address) values(#{username},#{birthday},#{sex},#{address}) </insert> <!-- 修改用户 --> <update id="updateUser" parameterType="com.xyfer.po.User"> update user set username=#{username},birthday=#{birthday},sex=#{sex},address=#{address} where id=#{id} </update> <!-- 删除用户 --> <delete id="deleteUserById" parameterType="int"> delete from user where id=#{id} </delete> </mapper>

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wssspf.html