-
1. MyBatis源码学习—MyBatis数据仓库会话器StatementHandler详解
1、StatementHandler对象的创建过程在上一节MyBatis源码学习—MyBatis执行器Executor详解中我们了解MyBatis执行器的产生以及执行SQL的大致过程。StatementHandler对象是在SqlSession对象接收到SQL执行命令时,由Configuration对象中的newStatementHandler负责调用的,也就是说Configuration中...
http://www.easyblog.top:80/article/details/259 - 2020-07-09 - MyBatis -
2. MySQL高级—SpringBoot+MyBatis+Sharding-JDBC实现MySQL分库分表
一、什么是Sharding-JDBCSharding-JDBC官方文档:https://shardingsphere.apache.org/document/current/cn/overview/Sharding-JDBC定位为轻量级Java框架,在Java的JDBC层提供的额外服务。它使用客户端直连数据库,以jar包形式提供服务,无需额外部署和依赖,可理解为增强版的JDBC驱动,完全兼容...
http://www.easyblog.top:80/article/details/212 - 2020-05-04 - MySQL -
3. MyBatis源码学习—SqlSession的运行过程
SqlSession的运行过程是整个MyBatis最难以理解的部分。SqlSession是一个接口,使用它并不复杂。我们构建SqlSessionFactory之后就可以轻易地拿到SqlSession了。SqlSession接口给出了查询、插入、更新、删除的方法,在旧版本的MyBatis或iBatis中常常使用这些接口方法,而在新版的MyBatis-3中我们建议使用Mapper,SqlSess...
http://www.easyblog.top:80/article/details/256 - 2020-07-04 - MyBatis -
4. MyBatis源码学习—MyBatis 执行器Executor详解
从前面分析我们知道了sql的具体执行是通过调用SqlSession接口的对应的方法去执行的,而SqlSession最终都是通过调用了自己的Executor对象的query和update去执行的。本文就分析下sql的执行器-----Executor。1、Executor继承体系下图展示的是MyBatis的执行器的核心类的继承体系图。Executor是执行器的顶层接口,它定义了查询、更新事务提...
http://www.easyblog.top:80/article/details/258 - 2020-07-08 - MyBatis -
5. MyBatis源码学习—SqlSessionFactory的构建过程
MyBatis的运行分为两大部分,第一部分是读取配置文件缓存到Configuration对象,用以创建SqlSessionFactory,第二部分是SqlSession的执行过程。相对而言,SqlSessionFactory的创建比较容易理解,而SqlSession的执行过程远远不是那么简单了,本节我们解先来学习一下MyBatis是如何读取配置文件生成Configuration...
http://www.easyblog.top:80/article/details/254 - 2020-07-02 - MyBatis -
6. 深入理解MyBatis缓存机制
使用缓存可以是应用更快的获取数据,避免频繁的数据库交互,尤其是在查询越多、缓存命中率越高的情况下,使用缓存的作用就越明显。MyBatis作为持久层框架,提供了强大的查询缓存特性,可非常方便的配置和使用。MyBatis系统中默认定义了两级缓存:一级缓存和二级缓存。1、默认情况下,一级缓存(SqlSession级别的缓存,也称为本地缓存)是开启的,并且不能控制。2、二级缓存需要手动...
http://www.easyblog.top:80/article/details/120 - 2019-07-09 - MyBatis -
7. MyBatis源码学习—MyBatis参数处理器ParameterHandler详解
MyBatis的四大组件我们已经了解过两种了:一个是Executor,它在创建SqlSession的时候会被初始化,它是MyBatis解析SQL请求首先会经过的第一道关卡,它的主要作用在于创建缓存,管理StatementHandler的调用,为StatementHandler提供Configuration环境等。StatementHandler组件最主要的作用在于创建Statement对象与...
http://www.easyblog.top:80/article/details/261 - 2020-07-12 - MyBatis -
8. 深入理解Mybatis中的一对一、一对多映射关系
1、搭建实验环境1).新建数据库mybatis62).新建表:sys_user、sys_role、sys_user_role,sys_privilege、sys_role_privilegesql脚本如下:3).新建每个表对应的实体JavaBeanSysUser.javaSysRole.javaSysUserRole.javaSysPrivilege.javaSysRolePrivilege...
http://www.easyblog.top:80/article/details/119 - 2019-07-08 - MyBatis -
9. MyBatis分页插件pageHelper配置和使用
1、PageHelper简介这是一个基于MyBatis开源的分页插件,使用非常方便,支持各种复杂的单表、多表分页查询,让你在写sql时无需考虑分页问题,PageHelper帮你搞定。项目托管在github上https://github.com/pagehelper/Mybatis-PageHelper。2、在项目中引入PageHelperPageHelper是一个通用的MyBatis分页插件...
http://www.easyblog.top:80/article/details/124 - 2019-07-30 - MyBatis -
10. MyBatis整合Redis作为二级缓存
Redis不像Ehcache一样提供了针对MyBatis的二级缓存的实现,因此需要我们自己来实现缓存的逻辑,但是归根到底原理是一样的,就是实现MyBatis的org.apache.ibatis.cache.Cache接口,在实现类中我们把数据的存取中间件变为了Redis而已,下面是一个实现的示例:之后在Mapper文件中指定缓存使用我们实现的这个缓存即可。
http://www.easyblog.top:80/article/details/122 - 2019-07-11 - MyBatis -
11. MyBatis源码学习—MyBatis结果处理器ResultSetHandler详解
上一篇博文MyBatis源码学习—MyBatis数据仓库会话器StatementHandler详解我们通过Statement将SQL发送到了数据库,并返回了ResultSet,接下来就是将结果集ResultSet自动映射成实体类对象。这样使用者就无需再手动操作结果集,并将数据填充到实体类对象中。这可大大降低开发的工作量,提高工作效率。1、ResultSetHandler简介回想一下,一条SQ...
http://www.easyblog.top:80/article/details/262 - 2020-07-13 - MyBatis -
12. MyBatis SQL映射文件配置详解
配置SQL映射文件MyBatis中的SQL映射文件只有很少的几个顶级元素(按照它们应该被定义的顺序如下):cache–给定命名空间的缓存配置。cache-ref–其他命名空间缓存配置的引用。resultMap–是最复杂也是最强大的元素,用来描述如何从数据库结果集中来加载对象。sql–可被其他语句引用的可重用语句块。insert–映射插入语句update–映射更新语句delete–映射删除语句...
http://www.easyblog.top:80/article/details/123 - 2019-07-12 - MyBatis -
13. MyBatis动态SQL
MyBatis的强大特性之一便是它的动态SQL。如果你有使用JDBC或其他类似框架的经验,你就能体会到根据不同条件拼接SQL语句有多么痛苦。拼接的时候要确保不能忘了必要的空格,还要注意省掉列名列表最后的逗号。利用动态SQL这一特性可以彻底摆脱这种痛苦。MyBatis动态SQL元素和使用JSTL或其他类似基于XML的文本处理器相似。在MyBatis之前的版本中,有很多的元素需要来了解。MyBa...
http://www.easyblog.top:80/article/details/235 - 2019-07-29 - MyBatis -
14. MyBatis架构设计及源代码分析(一):MyBatis架构
一、概述MyBatis是一个轻量级的ORM框架,其官方首页是这么介绍自己。MyBatis数据映射器框架使将关系数据库与面向对象的应用程序结合使用变得更加容易。MyBatis使用XML描述符或注释将对象与存储过程或SQL语句耦合。相对于对象关系映射工具,简单性是MyBatis数据映射器的最大优势。而在其官方文档中介绍“WhatisMyBaits”中说到MyBatis是一款优秀的持久层框架,它支...
http://www.easyblog.top:80/article/details/253 - 2020-06-24 - MyBatis -
15. MyBatis全局配置文件详解
MyBatis使用过程中主要需要配置两个xml文件,一个是全局配置文件,另一个是SQL映射文件。本片博文我们就来学习一下MyBatis的全局文件的使用配置方式。在官方文档中也有详细的解释:MyBatis全局配置文件的官方文档。通过看文档和写代码来学习全局配置文件的使用,全局配置文件的配置主要有以下:这些子元素的配置是有顺序的,只能按照上面的顺序配置。可缺省部分子元素。1、properties...
http://www.easyblog.top:80/article/details/117 - 2019-07-06 - MyBatis