![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
mybatis
一只大马猴
既然选择了做这行,就要耐得住寂寞
展开
-
mybatis源码阅读之1:框架概述
mybatis就是ibatis3.0以後的版本.对于日常开发中的DB操作,我们经历了JDBC>DBUtils->JDBCTemlpate->hibernate->mybatis对于以上比较,各阶段的利弊如下:JDBC:每次需要手动去写java代码去获取数据库链接,使用java代码去拼接sql,拼接参数,最后执行完还要手动去释放链接。DBUtils:...原创 2019-01-25 18:32:15 · 175 阅读 · 0 评论 -
mybatis源码阅读之2:mybatis执行流程
上一篇 框架概述下一篇mybatis配置文件详解1.获取sqlSessionFactory对象String resource = "mybatis-config.xml";InputStream inputStream = Resources.getResourceAsStream(resource);SqlSessionFactory sqlSessionFactor...原创 2019-01-26 20:47:45 · 243 阅读 · 0 评论 -
mybatis源码阅读之3:mybatis配置文件详解
上一篇mybatis执行流程下一篇mybatis增删改查注意点上一节中提到的配置文件mybatis-config.xml,本文将详细讲解其中的配置以及适用场景。mybatis的常用配置 <settings> <!-- 使全局的映射器启用或禁用缓存。 --> <setting name="cacheEnabled" ...原创 2019-01-26 22:31:49 · 298 阅读 · 0 评论 -
mybatis源码阅读之4:mybatis增删改查注意点
上一篇mybatis配置文件详解下一篇mybatis底层参数封装过程本文主要记录一下,在mybatis的增删改查操作中,需要注意的几点。增1.mysql数据库获取自增主键<insert id="addStudent" parameterType="com.licw.lean.mybatis_anayl.Student" u...原创 2019-01-29 17:25:59 · 247 阅读 · 0 评论 -
mybatis源码阅读之6:mybatis缓存
上一篇mybatis底层参数封装过程下一篇mybatis源码执行流程mybaits含有一个非常强大的查询缓存功能,可以非常方便的定制。mybatis默认定义了两级缓存:一级缓存和二级缓存1.默认情况下,只有一级缓存开启(SqlSession级别的缓存,也成为本地缓存)。2.二级缓存需要手动开启和配置,他是基于namespace级别的缓存(全局缓存)3.为了提高扩展...原创 2019-02-15 18:05:32 · 366 阅读 · 1 评论 -
mybatis源码阅读之5:mybatis底层参数封装过程
上一篇 mybatis增删改查注意点下一篇mybatis缓存上节讲了mybatis对各种参数的封装,本节说说mybatis底层是如何对参数进行特殊处理来封装参数的。先补充一个点:#{}与${}取值有什么不同?#{}:是以预编译的方式将参数设置到sql中,具有防止sql注入的功能,即具有PreparedStatement防注入的功能#{}更丰富的用法:制定参数规则:j...原创 2019-01-30 10:40:17 · 912 阅读 · 0 评论 -
mybatis源码阅读之8:获取sqlSessionFactory对象
上一篇mybatis源码执行流程下一篇批量插入数据在mybatis源码阅读之7:mybatis源码执行流程一文中总结了获取sqlSessionFactory对象的步骤:创建SqlSessionFactoryBuilder build(inputStream) 创建解析器parser 解析每一个标签把详细信息保存在Configuration中 解析mapper.xml,M...原创 2019-02-25 11:04:12 · 918 阅读 · 0 评论 -
mybatis源码阅读之7:mybatis源码执行流程
上一篇mybatis缓存下一篇获取sqlSessionFactory对象我们先看一下mybatis按照模块提供的功能:这个图是参照尚学堂的课件画的哈!先提示一下,阅读源码,要注意mybatis的四大对象:Executor(update,query,flushStatements,commit,rollback,getTransaction,close,isClosed)...原创 2019-02-18 14:45:11 · 401 阅读 · 0 评论 -
mybatis源码阅读之9:批量插入数据
上一篇mybatis源码阅读之8:获取sqlSessionFactory对象在做项目的工程中,遇到过各种mybatis批量插入数据的需求。在各种水平的架构师提供的框架封装中,也出现了好几种对批量处理的不同封装。根据我看过的代码,大致可以分三种情况。第一种:代码级别循环调用同一个mapper的add/save操作。 @Autowired private EnterTypeMap...原创 2019-07-06 11:40:05 · 461 阅读 · 0 评论