总概
映射器由一个接口和对应xml配置文件或则注解组成,其主要功能如下:
(1)通过resultMap描述映射规则。
(2)提供SQL语句,并可以配置SQL参数类型、返回类型、缓存刷新等信息。
(3)配置缓存。
(4)提供动态SQL。
总结,它的主要功能就是将SQL查询到的结果映射为POJO对象,或者将POJO数据插入到数据库中,并定义一些关于缓存等的重要内容。
一、Mapper的配置
(1)
Mapper.java接口代码:
package com.learn.mybatis.chapter03.project;
import java.util.List;
public interface RoleMapper {
int insertRole(Role role);
int deleteRole(Long id);
int updateRole(Role role);
Role getRole(Long id);
List<Role> getAllRoles();
List<Role> findRoles(String roleName);
}
mapper.xml配置文件:
<?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.learn.mybatis.chapter03.project.RoleMapper">
<insert id="insertRole" parameterType="role">
insert into t_role(role_name, note) values(#{roleName}, #{note})
</insert>
<delete id="deleteRole" parameterType="long">
delete from t_role where id=#{id}
</delete>
<update id="updateRole" parameterType="role">
update t_role set role_name=#{roleName}, note=#{note} where id=#{id}
</update>
<select id="getRole" parameterType="long" resultType="role">
select id, role_name as roleName, note from t_role where id = #{id}
</select>
<select id="getAllRoles" resultType="role">
select id, role_name as roleName, note from t_role
</select>
<select id="findRoles" parameterType="string" resultType="role">
select id, role_name as roleName, note from t_role where role_name like concat('%', #{roleName}, '%')
</select>
</mapper>
有了Mapper接口和Mapper的配置文件还不够,还需要在基础配置文件中,指明mapper接口,以便在Mybatis初始化时注册Mapper。
这里有两种方式,一种是