MyBatis学习(完)

MyBatis框架实现(06)执行SQL语句

2019-08-11  本文已影响2人  郭艺宾

书接上回,我们获取了mapper对象,可以开始执行SQL语句了,执行时我们调用的起点是从mapper中的方法开始的,流程如下:

1、调用mapper中的方法

2、mapper代理类调用sqlSession中的方法

3、sqlSession调用执行器的方法

4、执行器执行时,会调用mybatis中的statement处理SQL语句,将参数替换为实际值

5、结果处理器resultHandler对象直接执行,并处理返回的结果

上面是一个简略的流程,虽然简略,但是也能反映mybatis真正的处理流程。下面我们一步一步来实现,首先在sqlSession中定义查询方法:

有了这个方法后,前面动态代理中的方法就可以调用了:

下面要在执行器中创建查询方法让sqlSession调用:

在sqlSession中就可以修改代码调用了:

接下来是处理SQL语句的参数,我们前面定义SQL语句使用了一种简单的字符串替换的方式:

所以这里我们直接使用String类的字符替换就行,下面创建参数处理类:

在参数处理类中,我们获取数据库连接,然后对SQL语句进行预编译和执行,有了参数处理类,前面的执行器就可以完善了:

下一步就是处理结果了,其实到这一步,SQL语句已经执行完了。

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

上一篇下一篇

猜你喜欢

热点阅读