MyBatis框架实现(05)从sqlSession中获取mapper

继续我们的简单版mybatis。前面的内容以及可以获取sqlSession了,下面我们来看从sqlSession中获取mapper。关于mapper我们只定义了接口,没有实现类,通过源码分析我们知道mybatis使用动态代理为我们生成。所以首先来创建一个mapper代理类:

代理类中包含两个属性,一个是sqlSession,一个是接口类,invoke方法中,通过传入方法的全路径获取了我们自定义的MapperMethod对象,如果对象不为空就真正执行数据库方法,这里执行的内容先不定义。下面我们在sqlSession中返回mapper时就可以使用动态代理返回了:

关于jdk动态代理有忘记的可以自己看看。能够获取mapper以后,我们的测试代码就可以得到UserMapper对象了:

前面的准备工作差不多了,下面可以真正执行SQL语句了。

 

代码地址:https://gitee.com/blueses/mybatis-demo 17

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值