mybatis——mybatis打印sql 接口工作原理
2024-10-19 16:28:31
https://blog.csdn.net/Lxinccode/article/details/79218566
接口工作原理:
Dao接口即Mapper接口。接口的全限名,就是映射文件中的namespace的值;接口的方法名,就是映射文件中Mapper的Statement的id值;接口方法内的参数,就是传递给sql的参数。
Mapper接口是没有实现类的,当调用接口方法时,接口全限名+方法名拼接字符串作为key值,可唯一定位一个MapperStatement。在Mybatis中,每一个 <select>、<insert>、<update>、<delete>标签,都会被解析为一个MapperStatement对象。
举例来说:cn.mybatis.mappers.StudentDao.findStudentById,可以唯一找到namespace为 com.mybatis.mappers.StudentDao下面 id 为 findStudentById 的 MapperStatement。
Mapper接口里的方法,是不能重载的,因为是使用 全限名+方法名 的保存和寻找策略。Mapper 接口的工作原理是JDK动态代理,Mybatis运行时会使用JDK动态代理为Mapper接口生成代理对象proxy,代理对象会拦截接口方法,转而执行MapperStatement所代表的sql,然后将sql执行结果返回。
最新文章
- SQL语句优化
- php stdclass转数组
- C# WPF 让你的窗口始终钉在桌面上
- js引出函数概念的案例
- ORM框架 EF - code first 的封装
- Maven 小结
- 293.	Flip Game
- ***微信浏览器禁止app下载链接怎么办
- android.graphics.Matrix
- http请求头响应头大全
- mysql触发器使用注意
- Beginning MyBatis 3 Part 2 : How to Handle One-to-Many and One-to-One Selects
- 浅谈web应用的负载均衡、集群、高可用(HA)解决方案(转)
- Android时光轴
- Unity 脚本中各种[XXX]的用法
- HTML学习笔记之三(localstorage的使用)
- C# DataSet数据导入Excel 修正版- .net FrameWork 4.0以上
- 2丶利用NABCD模型进行竞争性需求分析
- Bat脚本实现监控进程功能
- Disable Oracle Automatic Jobs