MyBatis之Mapper动态代理

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MyBatis之Mapper动态代理相关的知识,希望对你有一定的参考价值。

参考技术A Mybatis可以通过dao接口直接定位到Mapper文件中的SQL语句,这就是mapper的动态代理

需要将IUserDao中的方法名与mapper.xml文件中的id名称要一致,这样子mybatis就可以将方法和sql语句一一对应上了

这样mybatis就会将当前的mapper.xml文件与IUserDao对应上。

通过调用SqlSession的getMapper方法,将要获取的dao对象的class传入,然后MyBatis就会自己创造IUserDao的对象,采用的是jdk的动态代理技术。

将dao的实现类删除之后,mybatis底层只会调用selectOne()或selectList()方法。而框架选择方法的标准是dao层方法中用于接收返回值的对象类型。若接收类型为 List,则自动选择 selectList()方法;否则,自动选择 selectOne()方法。

以上是关于MyBatis之Mapper动态代理的主要内容,如果未能解决你的问题,请参考以下文章

Mybatis 之动态代理

mybatis之动态代理

探索Mybatis之JDK动态代理:探究Proxy.newProxyInstance()生成的代理类解析

MyBatis - Mapper动态代理开发

Mybatis学习系列Mapper接口动态代理

Mybatis框架中Mapper动态代理方式