dao层开发mybatis和动态代理


传统dao执行select语句



实体类


dao接口


dao执行insert语句


dao接口的实现类


测试



动态代理条件分析

List<Student> studentList  = dao.selectStudent();调用

1.dao对象,类型是StudentDao,全限定名称是:com.song.dao.StudentDao
全限定名称和sql映射文件中namespace是一样的。

2.方法名称,selectStudent,这个方法就是sql映射文件中的id值selectStudent

3.通过dao中方法的返回值也也可以确定mybatis要调用的是SqlSession 的方法。
如果返回值是List,调用的是SqlSession.selectList()方法
如果返回值是int,或者非List的,看mapper文件中的标签,标签是<insert>,<update>就会调用sqlSession的insert,update等方法




mybatis的动态代理:

mybatis根据dao的方法调用,获取执行sql语句的信息
mybatis根据你的dao接口,创建出一个dao接口的实现类,并创建这个类的对象
完成SqlSession调用方法,访问数据库。

动态代理的实现。(不需要接口实现类)
SqlSession.getMapper();
使用mybatis的动态代理机制,使用SqlSession.getMapper(dao接口)
getMapper能获取dao接口对于的实现类对象



动态代理使用例子

#涂鸦智能实习##咪咕视讯#
全部评论
学到了感谢楼主分享啊
1 回复 分享
发布于 2022-08-25 20:27 陕西

相关推荐

11-02 09:49
已编辑
货拉拉_测试(实习员工)
热爱生活的仰泳鲈鱼求你们别卷了:没事楼主,有反转查看图片
点赞 评论 收藏
分享
头像
11-21 11:39
四川大学 Java
是红鸢啊:忘了还没结束,还有字节的5k 违约金
点赞 评论 收藏
分享
1 1 评论
分享
牛客网
牛客企业服务