1、概念
Mapper接口开发方法只需要程序员编写Mapper接口(相当于Dao层接口,替代Dao层功能),由Mybatis框架根据接口定义创建接口的动态代理对象,代理对象的方法体同上边Dao接口实现类方法。
(1)使用接口的好处:Mapper接口的方式,不用写接口实现类,直接完成数据库操作,简单方便。
(2)mapper映射文件的规范::
1.mapper映射文件中的namespace的值,必须等于mapper接口的全限定名
2.mapper映射文件中的Sql的id,必须等于mapper接口中的方法名
3.mapper映射文件中的Sql的paramterType必须跟对应的方法的类型相同.
4.方法的返回值必须和resultType或者resultMap的值保持一致
2、实现
(1)层级结构
(2)新建mapper下的接口
在此接口中定义要实现的方法,由service层实现。
public interface UserMapper {
//Mapper接口的方式,不用写接口实现类,直接完成数据库操作,简单方便
int add(User user);
int update(User user);
int delete(int id);
List<User> select();
}
(2)配置映射文件
<?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.ujy.db.mapper.UserMapper">
<!-- 增-->
<insert id="add" useGeneratedKeys="true" keyProperty="id" keyColumn="id">
insert into users value (null,#{name},#{passwd})
</insert>
<!-- 改-->
<update id="update">
update users set name=#{name},passwd=#{passwd} where id=#{id}
</update>
<!-- 删-->
<delete id="delete">
delete from users where id=#{suibian}
</delete>
<!--查询全部,resultType指定返回值类型-->
<select id="select" resultType="com.ujy.db.bean.User">
select * from users
</select>
</mapper>
其中注意:
(1)mapper映射文件中的namespace的值,必须等于mapper下接口的全限定名。
(2)mapper映射文件中的Sql的id,必须等于mapper接口中的方法名。
(3)mapper映射文件中的Sql的paramterType必须跟对应的方法的类型相同。
(4)方法的返回值必须和resultType或者resultMap的值保持一致。