mybatis04--Mapper动态代理实现
2017-01-11 22:44
585 查看
通过之前的操作,我们发现dao的实现类其实并没有做什么实质性的工作,仅仅是通过sqlSession的相关API定位到StudentMapper映射文件
中的ID中的sql语句,其实真正操作DB的是mapper中的sql
所以mybatis就抛开了dao层的实现类,可以直接定位到mapper中的sql!然后执行sql对DB进行操作!这种对dao的实现方式我们称为Mapper的动态代理方式!
1.删除之前的StudentDaoImpl实现类
2.修改StudentMapper文件中的namespace必须是StudentDao的完整限定名
3.修改StudentMapper文件中所有的id必须和StudentDao接口中的方法名称完全一致
4.修改测试类代码
之后的删除,修改,删除和查询也是同样的操作!
中的ID中的sql语句,其实真正操作DB的是mapper中的sql
所以mybatis就抛开了dao层的实现类,可以直接定位到mapper中的sql!然后执行sql对DB进行操作!这种对dao的实现方式我们称为Mapper的动态代理方式!
1.删除之前的StudentDaoImpl实现类
2.修改StudentMapper文件中的namespace必须是StudentDao的完整限定名
3.修改StudentMapper文件中所有的id必须和StudentDao接口中的方法名称完全一致
4.修改测试类代码
public class StudentTest { StudentDao dao; SqlSession session; @Before public void before() { // 因为需要关闭session 需要把session提取出去 session = SessionUtil.getSession(); dao = session.getMapper(StudentDao.class); } @After public void after() { if (session != null) { session.close(); } } // 新增 @Test public void test() { Student student = new Student("小黑333", 100); System.out.println("方法之前==" + student); dao.addStudent(student); System.out.println("方法之后==" + student); session.commit(); } }
之后的删除,修改,删除和查询也是同样的操作!
相关文章推荐
- mybatis04--Mapper动态代理实现
- Mybatis3源码分析(21)-Mapper实现-动态代理
- Mybatis源码中Mapper的动态代理实现原理
- Mybatis3源码分析(21)-Mapper实现-动态代理
- Mybatis3源码分析(21)-Mapper实现-动态代理
- Mybatis3.3.x技术内幕(二):动态代理之投鞭断流(自动映射器Mapper的底层实现原理)
- Mybatis实现Mapper动态代理方式详解
- Mybatis中Mapper动态代理的实现原理
- SprignMVC+myBatis整合+mybatis源码分析+动态代理实现流程+如何根据mapper接口生成其实现类
- Mybatis实现Mapper动态代理方式
- Mybatis Mapper动态代理方法 即 只写Dao接口 不谢Dao的实现类
- Mybatis实现Mapper动态代理方式
- Mybatis中Mapper动态代理的实现原理
- mybatis -- 由浅入深分析mybatis通过动态代理实现拦截器(插件)的原理
- 原始dao和Mapper动态代理的开放方式---Mybatis学习笔记(六)
- Mybatis学习总结(二).Mybatis普通方式实现CRUD及动态代理方式实现CRUD
- mybatis源码分析之mapper动态代理
- 10_Mybatis开发Dao方法——mapper代理实现
- mybatis3整合spring4-采用mapper动态代理的方式开发Dao
- 【MyBatis学习04】mapper代理方法开发dao