简单介绍一下SqlSession,及四大对象
发布日期:2021-06-29 13:14:06 浏览次数:3 分类:技术文章

本文共 870 字,大约阅读时间需要 2 分钟。

一、什么是SqlSession呢?

SqlSession是Mybatis最重要的构建之一,可以简单的任务Mybatis一系列的配置目的是生成类似JDBC生成的Connection对象的SqlSession,这样才能和数据库开启“沟通的桥梁”,通过SqlSession可以实现增删改查(当然现在更加推荐是使用Mapper接口的形式),那么它是如何执行实现的呢?

了解SqlSession的运作原理是学习Mybatis插件的必经之路,因为Mybatis的插件会在SqlSession运行过程中“插入”运行,如果没有很好理解的话,Mybatis插件可能会覆盖相应的源码造成严重的问题。

1.sqlsession

(1)sqlsession简单原理介绍

sqlSession提供select、insert、update、delete方法,在旧版本中使用sqlsession接口的这些方法,但是在新版本中Mybatis就会建议直接使用mapper接口的方法。

映射器其实就是一个动态代理对象,进入到MapperMethod的execute方法就能简单找打sqlsession的删除,更新、查询、选择方法,从底层实现来说:通过动态代理技术,让接口跑起来,之后采用命令模式,最后还是采用了sqlsession的接口方法(getMapper()方法等到Mapper)执行sql查询(也就是说Mapper接口方法的底层实现还是采用了Sqlsession的接口方法实现的)。

(2)selsession的四个重要对象

1)Execute:调度执行StatementHandler、ParmmeterHandler、ResultHandler执行相应的SQL语句;

2)StatementHandler:使用数据库中的Statement(PrepareStatement)执行操作,即底层是封装好的PrepareStatement;

3)ParammeterHandler:处理SQL参数;

4)ResultHandler:结果集ResultSet封装处理放回。

转载地址:https://changemax.blog.csdn.net/article/details/102461016 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:消息中间件:消息队列(Message Queue)解读
下一篇:什么是一级缓存?使用一级缓存有什么优势?

发表评论

最新留言

关注你微信了!
[***.104.42.241]2024年04月24日 08时04分01秒