Mybatis源码分析(二) —— 框架目标分析与自我思考 - 如果是你,你如何写出一个Mybatis

从上一篇,我们复习了如何使用Mybatis,从此章开始,我们要开始阅读MyBatis的源码。

在开始阅读分析之前,我们首要思考一个问题,Mybatis都做了什么,我们都做了什么。如果是你,你如何完成这样的功能。

我们都做了什么:

1.首先我们在config.xml里面配置了数据源。和Mapper.xml的位置

2.然后我们在mapper.xml中定义了对应的dao层接口。

3.但是在service层我们直接就可以使用接口的实现类完成增删改查。

4.我们在mapper.xml中可以通过resultMap配置,直接返回一个定义好的实体类。

因此,如果是我,我会这样:

读取解析config.xml,根据URL和Driver等信息,生成Connection。

读取解析config.xml,获取Mapper.xml,将其中的每一个Sql定义成对象,在使这些对象执行,获取结果数据。

读取解析Mapper.xml,获取resultMap对象,将Sql执行后的数据,动态绑定到实体对象上返回。

根据Mapper.xml中定义的DAO层,通过反射,生成代理类,在service调用时,取到对应的代理,并执行对应的方法。




我们会根据这样的几个想法,去阅读源码,看看Mybatis中如何实现这样的一个功能

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值