mybatis
文章平均质量分 82
qiuxinfa123
这个作者很懒,什么都没留下…
展开
-
Mybatis插件原理与开发
本文将从源码的角度介绍一下mybatis的插件原理与简单开发实战。原创 2023-12-07 23:01:26 · 514 阅读 · 0 评论 -
Mybatis中的设计模式
mybatis中的一些设计模式原创 2023-12-04 21:17:00 · 1326 阅读 · 0 评论 -
Mybatis总体执行流程
梳理mybatis的总体流程原创 2023-12-03 23:19:07 · 1631 阅读 · 0 评论 -
mybatis原理:参数解析与SQL动态组装过程
mybatis执行sql之前,需要经过参数解析、sql动态组装等过程,本文主要聊聊mybatis的:(1)参数解析原理及其过程(2)sql动态组装原理及其过程一、数据准备1.实体类,省略了set、get方法public class User { private String id; private String username; private String password; private Integer isValid...原创 2020-09-11 15:36:28 · 2071 阅读 · 0 评论 -
mybatis原理:结果集封装详解
经过sql参数解析、sql动态组装和执行sql,相对而言,结果集的封装,是mybatis数据处理的最后一环。这里只对查询结果而言,因为更新语句一般都是返回影响的行数。抛开mybatis,如果让我们组装结果,我们该如何进行呢?mybatis的查询结果统一表示为:List<E>即使是查询单个对象,它的查询结果还是封装成 List<E> 对象,然后返回list集合的第一个元素。个人根据mybatis的源码,将mybatis对结果集的封装,分成两步:(1)通...原创 2020-09-10 22:00:55 · 5328 阅读 · 1 评论 -
MyBatis进阶之插件开发(自定义分页插件)
mybatis的插件,实际上是拦截器,通过这些插件可以改变mybatis的默认行为。mybatis可以拦截的对象有:(1)Executor,执行的SQL全过程,包括组装参数、组装结果返回和执行SQL的过程等都可以拦截(2)StatementHandler,执行SQL的过程,拦截该对象可以重写执行SQL的过程(3)ParameterHandler,执行SQ...原创 2020-03-08 13:45:38 · 1095 阅读 · 0 评论 -
MyBatis原理:SQL执行流程
mybatis作为一款持久层框架,最为主要的职责,当然是执行我们在mapper映射文件中写的sql语句,但是sql语句也分两种:(1)普通sql语句(2)动态sql语句,包含了<if | foreach | choose | when | otherwise | where | set | trim>等可以动态拼接sql的标签 本篇博客将...原创 2020-03-07 21:47:17 · 391 阅读 · 0 评论 -
MyBatis入门之二级缓存
mybatis的二级缓存是namespace级别的,不同于一级缓存,二级缓存是SqlSession共享的,并且默认是不开启的,如果要开启,需要在mybatis的配置文件中的settings节点下,手动设置: <!-- 开启二级缓存,默认是false --> <setting name="cacheEnabled" value="...原创 2020-03-05 21:41:13 · 143 阅读 · 2 评论 -
MyBatis入门之一级缓存
mybatis的一级缓存作用域是SqlSession的,所以,对于同一个SqlSession,相同的查询,只有在第一次查询的时候才会到数据库查询,其余都是从缓存中拿。但是,如果两次查询之间,发生了数据更新(包括增、删、改)操作,则会清除缓存。mybatis默认是开启一级缓存的。此外,如果:(1)关闭SqlSession,因为是SqlSession作用域的,则缓存当然也就没有了...原创 2020-03-05 20:58:42 · 283 阅读 · 0 评论 -
MyBatis入门之一对多、多对多查询
在生活中,一对多的例子更为普遍,例如:一个班级有多个学生,一个家庭有多个成员,一个部门有多个员工等等。下面,我将以一个作者有多个博客为例讲解,如何使用mybatis进行一对多关联查询。同样的,代码也会放在GitHub上,地址为:https://github.com/qiuxinfa/mybatis-study。我们还是先看下目录结构:1.maven依赖和前面几篇是一样的,这里...原创 2020-03-04 23:19:53 · 259 阅读 · 0 评论 -
MyBatis入门之一对一查询
一对一的关系在生活中还是比较常见的,比如一本书有一个作者(暂时不考虑一本书多个作者的情况)、一个人对应一个身份证等待。此外,一对一查询也是比较简单的,下面将以一个人、一个身份证为例,说明如何使用mybatis进行关联查询。同样的,相关的代码,也会放在GitHub上,GitHub地址:https://github.com/qiuxinfa/mybatis-study。我们先看下项目的...原创 2020-03-04 21:43:36 · 174 阅读 · 0 评论 -
MyBatis入门之接口绑定与CRUD实例
前一篇博客写了MyBatis入门之HelloWorld,介绍了如何配置mybatis及使用。这一篇博客,将在上一篇学习的基础之上,学习如何使用接口绑定Mapper映射文件。毕竟,接口在开发中是比较常用的。项目代码,我会放到GitHub中,该项目的GitHub地址:https://github.com/qiuxinfa/mybatis-study。先看下目录结构:1.创建...原创 2020-03-04 20:23:56 · 228 阅读 · 0 评论 -
MyBatis入门之HelloWorld
MyBatis 是一款半自动的持久层框架,主要是对JDBC繁琐的操作进行了封装,因此性能是要比Hibernate好,毕竟Hibernate要做非常多的判断。本篇博客,主要介绍如何使用mybatis,参考官网:https://mybatis.org/mybatis-3/zh/getting-started.html。项目代码的GitHub地址:https://github.com/q...原创 2020-03-03 21:49:02 · 273 阅读 · 0 评论