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 陕西

相关推荐

rndguy:个人思路,抛砖引玉。 要我的话我先问清楚需求:要什么精度,什么速度,什么环境。 如果精度要求很低,平台也有点柔性的话,只需要输出pwm,然后开个中断记录各多少个脉冲,如果脉冲时间不对齐了就反馈控制电流加减就行。要求同步要求稍微高点的话可以在脉冲间做个线性插值,同步精度会高些。 但总体来说,如果直流有刷只有脉冲没有好的编码器的话很难做精准定位什么的(除非用一些电机磁路结构相关的奇技淫巧如高频注入什么的),所以要求更高就需要大量参数辨识和校准,那就慢多了。
点赞 评论 收藏
分享
评论
1
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务