Mybatis框架-----Mapper 动态代理
Mybatis框架-----Mapper 动态代理
文章目录
- 🔥一、基于 Mybatis 的 Dao 层设计
-
- 🌙1.1、 Dao 层不使用 Mapper 动态代理
- 🌙1.2、 Dao 层使用 Mapper 动态代理
- 🔥二、Mapper 动态代理规范
✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨
🍎合抱之木,生于毫末;百丈之台,起于垒土;千里之行,始于足下。------《老子》
🍊今日学习任务!!!!!
🍊1、了解Dao 层使用 Mapper 动态代理
🍊2、知道Mapper 动态代理规范
🔥一、基于 Mybatis 的 Dao 层设计
一、在 Mybatis 中对于 Dao 层的设计提供了两种方式:
🍎 a、Dao 层不使用 Mapper 动态代理
🍎b、Dao 层使用 Mapper 动态代理
🌙1.1、 Dao 层不使用 Mapper 动态代理
所谓不使用动态代理是指在 Dao 层需要我们自己来创建 Dao 层的接口与接口实现类。在接口实现类的方法中我们自己通过调用
SqlSession 对象的方法完成数据库的操作
缺點:
1、在 SqlSession 对象的常用方法中只能向 SQL 语句中传递一个参数。如果要多个参数,需要封装到 POJO 或者 Map 中
2、调用 SqlSession 对象的方法时会有硬编码现象 namespace + id
🌙1.2、 Dao 层使用 Mapper 动态代理
在 MyBatis 中提供了另外一种 Dao 层的实现方式,既:Mapper 动态代理(或称为接口
绑定)的操作方式。这种方式下程序员只需要写 Dao 接口,不需要创建 Dao 的接口实现类,Mybatis 会自动生成接口实现类的代理对象。在 Dao 层我们只要创建接口与映射配置文件即可。这种方式可以大大简化 Dao 层的代码结构,是在开发中最常见的使用方式
✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨
🔥二、Mapper 动态代理规范
- 接口名称需要与映射配置文件名称相同
- 映射配置文件中 namespace 必须是接口的全名。
- 接口中的方法名和映射配置文件中的标签的 id 一致。
- 接口中的返回值类型和映射配置文件中的 resultType 的指定的类型一致。
🍑每日一夸!!!
🍑就如同薛之謙对毛不易夸奖的
🍑"你现在就是流星" , 但是我相信你 ,你坚持下去你就是巨星"