1、mapper动态代理的作用
mapper动态代理无需程序员实现Dao接口,接口由MyBatis结合映射文件自动生成的动态代理实现的。
2、修改映射文件的namespace属性
使用动态代理需要映射文件mapper标签中的namespace属性修改为Dao接口的全类名。
3、Dao接口方法命名
MyBatis框架要求,接口中的方法名必须与映射文件中的sql标签的id相同
4、Dao对象的获取
使用时只需要调用SqlSession的getMapper()方法,即可获取指定接口的类实现对象,该方法的参数为指定Dao接口的class值。
5、话不多说,下面上实例.实现对student数据库的增删改查。
相关jar包
结构目录
1、首先我们新建一个student数据库
2、新建Student类,其中包含数据库中属性,这里太简单就不把代码放上来了。
3、新建Dao接口StudentDao
public interface StudentDao {
//插入学生
public void insertStudent(Student student);
//删除学生
public void deleteStudentById(int id);
//修改学生信息
public void updateStudent(Student student);
//查询所有学生信息
public List<Student> selectAllStudent();
//使用if标签动态查询学生信息
public List<Student> selectByIf(Student student);
}
4、新建映射文件UserMapper.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org/DTD Mapper 3.0"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.my.dao.StudentDao">
<!-- 添加学生 -->
<insert id="insertStudent" parameterType="com.my.student.Student"
useGeneratedKeys="true" keyProperty="id">
insert into student(name,age,score) values(#{
name},#{
age},#{
score})
<!-- </selectKey>用于获取新插入记录的主键值 -->
<selectKey resultType="int" keyProperty="id" order="AFTER"