zl程序教程

您现在的位置是:首页 >  云平台

当前栏目

mybatis04–Mapper动态代理实现详解编程语言

代理编程语言 实现 详解 &# 动态 8211 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的完整限定名

mybatis04--Mapper动态代理实现详解编程语言

 

3.修改StudentMapper文件中所有的id必须和StudentDao接口中的方法名称完全一致

mybatis04--Mapper动态代理实现详解编程语言

 

mybatis04--Mapper动态代理实现详解编程语言

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(); 

}
复制代码

 

 之后的删除,修改,删除和查询也是同样的操作!

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/12149.html

cjava