mybatis04–Mapper动态代理实现详解编程语言
2023-06-13 09:20:36 时间
通过之前的操作,我们发现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.修改测试类代码
![复制代码](http://blog.ytso.com/zb_users/plugin/LazyLoad/usr/loading.gif)
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(); }
![复制代码](http://blog.ytso.com/zb_users/plugin/LazyLoad/usr/loading.gif)
之后的删除,修改,删除和查询也是同样的操作!
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/12149.html
cjava相关文章
- 使用 http-proxy 对网络请求进行代理
- 什么是静态代理和动态代理_静态ip和动态ip有什么区别
- Go学设计模式--怕把核心代码改乱,记得用代理模式
- 配置 Spring Cloud Bus 的消息代理
- Nginx反向代理关于端口的问题详解架构师
- 设计模式之代理模式(结构型)详解架构师
- SSH代理连接器的Python代码详解编程语言
- Java基础加强之代理详解编程语言
- Java 动态代理及 RPC 框架介绍详解编程语言
- java动态代理详解编程语言
- Java动态代理一——动态类Proxy的使用详解编程语言
- 设计模式之动态代理模式实战详解编程语言
- jdk动态代理实现原理详解编程语言
- 解锁Linux:深入IP代理技术”(linuxip代理)
- MySQL数据库管理代理工具的优势(mysqlagent)
- 在IIS7中应用ApplicationRequestRouting配置反向代理的图文教程