Mybatis创建代理对象分析

1.连接数据库的信息,有了他们就能创建
Connection对象
2.此配置中有封装实体类的全限定类名和sql语句,可以获取PreparedStatement
在这里插入图片描述
3.映射配置信息
在这里插入图片描述
4.读取配置文件
读取配置文件用到的技术就是解析xml的技术。此处用的是dom4j解析xml技术。

mybaties的三个查询方法:selectOne,selectMap,selectList方法。
通过上面三个配置文件信息,创建jdbc

具体如下,

想让方法执行,需要提供两个信息

第一个:连接信息

第二个:映射信息:
1.执行的sql语句。2.封装结果的实体类全限定类名。把这两个信息组合起来,定义成对象

存进map里
keyvalue
StringMapper(映射)
namespace+idMapper对象+执行语句String sql+String domainClasspath
5.根据dao接口的字节码创建dao的代理对象

                           在这里插入图片描述
public 《T》 getMapper(Class《T》daoInterfaceClass){
/**
类加载器:它使用的和被代理对象是相同的类加载器
代理对象要实现的接口:和被代理对象实现相同的接口
如何代理:他就是增强的方法,我们需要自己来提供。此处是一个InvocationHandle接口,我们需要写一个该接口的实现类。在实现类中调用selectList方法
*/
Proxy.newProxyInstance(类加载器,代理对象要实现的接口字节码数组,如何代理)

}

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值