mybatis接口绑定

基础操作

mapper.xml和接口同名 统一包下
mapper.xml中sql标签名和接口函数名同名
这样调用接口方法就相当于调用xml中的sql

  • 在全局配置.xml中mapper的映射 写mapper.xml和接口所在包名即可
  • 之前业务层用session.selectOne/selectList("mapper完整类名+sql标签名")
  • 现在接口类 接口实例化对象InterfaceMapper interfaceAA=session.getMapper(InterfaceMapper.class); 方法调用 List list=interfaceAA.sql标签名/接口函数()
  • 疑问?为什么接口可以实例化对象,对象还可以调用方法
    -在这里插入图片描述
    在这里插入图片描述
    Proxy代理

JDK动态代理设计模式

设计模式给接口产生一个基于该接口的Proxy ,代理实现了这个接口,接口的实现类
new Proxy()的对象赋给当前接口,使用了java的多态 ANIMAL A=NEW DOG();

  • 调用方法 肯定不是接口的方法,而是实现类的方法,那么这个实现类怎么重写了这个方法的呢?

反射

java把mybatis.xml解析成一个dao的实现类
Proxy类的方法通过反射找到了这个dao的实现类。

发布了5 篇原创文章 · 获赞 0 · 访问量 50

猜你喜欢

转载自blog.csdn.net/ss123mlk/article/details/105302055
今日推荐