【MyBatis笔记】mapper文件的配置以及说明
<!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语法错误
- 传入参数以及返回参数类型错误

浙公网安备 33010602011771号