首页 > 移动平台 > 详细

【MyBatis笔记】mapper文件的配置以及说明

时间:2020-03-05 09:56:43      阅读:59      评论:0      收藏:0      [点我收藏+]

<!doctype html>【MyBatis笔记】mapper文件的配置以及说明

【MyBatis笔记】mapper文件的配置以及说明

命名空间

  • 定义命名空间,dao层调用mapper文件中定义的对数据库进行操作的方法

  • mapper文件中的参数:

    • <select><insert> 等标签,定义了方法的功能
    • 标签内id 定义了方法的名称,也即是dao层调用的方法名
    • parameterType 定义了参数类型,与dao层调用方法时的参数保持一致
    • resultType 定义了返回值的类型,与dao层调用方法的返回值保持一致
    • <insert> 标签中的参数useGeneratedKeys 表示属性值是否自动递增,keyProperty 表示允许递增的属性列
    • <sql> 标签的使用,降低了代码复制量。可参考sql标签的使用
<mapper namespace="com.kris.dao.MyUserDao">
  ...
</mapper>

CRUD操作

<select id="findById" useCache="false" parameterType="int" resultType="com.kris.model.MyUser">
    select * from my_user
    where id=#{id}
</select>

<select id="findByName" resultType="com.kris.model.MyUser">
    select * from my_user
    where name = #{name}
</select>

<select id="countByName" parameterType="String" resultType="int">
    select count(*) from my_user
    where name = #{name}
</select>

<insert id="insert" parameterType="com.kris.model.MyUser" useGeneratedKeys="true" keyProperty="id">
    insert into my_user(id, name, password)
    values(#{id}, #{name}, #{password})
</insert>

<update id="update" parameterType="com.kris.model.MyUser">
    update my_user
    set name = #{name},
    password = #{password}
    where id = #{id}
</update>

<delete id="delete" parameterType="int">
    delete from my_user
    where id = #{id}
</delete>

单元测试

  • 类图

  • 技术分享图片

  • 技术分享图片

  • 单元测试思路

    • 定义mapper文件dao的命名空间,即mapper文件实现了dao层的Dao接口,在接口中做相应的定义
    • 在对Dao层接口单元测试时,只需要声明一个Dao对象,然后调用其接口方法即可
  • 易错点

    • sql语法错误
    • 传入参数以及返回参数类型错误
 

【MyBatis笔记】mapper文件的配置以及说明

原文:https://www.cnblogs.com/louis6575/p/12417273.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!