
mybatis
架构师之路
太原科技大学
展开
-
深入浅出MyBatis-Sqlsession
目录(?)[+] 创建 Executor的创建 Mapper 创建MapperProxy的invoke Executor CacheExecutor普通Executor StatementHandler 创建初始化参数设置结果处理 前面的章节主要讲mybatis如何解析配置文件,这些都是一次性的过程。从本章开始讲解动态的过程,它们跟应用程序对myb转载 2014-03-10 11:20:20 · 1562 阅读 · 0 评论 -
深入浅出Mybatis-分页
Mybatis的分页功能很弱,它是基于内存的分页(查出所有记录再按偏移量和limit取结果),在大数据量的情况下这样的分页基本上是没有用的。本文基于插件,通过拦截StatementHandler重写sql语句,实现数据库的物理分页。本文适配的mybatis版本是3.2.2。 准备 为什么在StatementHandler拦截 在深入浅出MyBatis-Sqlsession章节介绍了一次sql转载 2014-03-10 11:22:02 · 1441 阅读 · 2 评论 -
深入浅出Mybatis-插件原理
Mybatis采用责任链模式,通过动态代理组织多个拦截器(插件),通过这些拦截器可以改变Mybatis的默认行为(诸如SQL重写之类的),由于插件会深入到Mybatis的核心,因此在编写自己的插件前最好了解下它的原理,以便写出安全高效的插件。 代理链的生成 Mybatis支持对Executor、StatementHandler、PameterHandler和ResultSetHandler进行转载 2014-03-10 11:23:02 · 995 阅读 · 0 评论 -
深入浅出Mybatis-sql自动生成
本文提供了一种自动生成sql语句的方法,它针对的对象是有主键或唯一索引的单表,提供的操作有增、删、改、查4种。理解本文和本文的提供的代码需要有java注解的知识,因为本文是基于注解生成sql的。本文适配的mybatis版本是3.2.2。 准备 为什么在StatementHandler拦截 在深入浅出MyBatis-Sqlsession章节介绍了一次sqlsession的完整执行过程,从中可以转载 2014-03-10 11:24:35 · 1643 阅读 · 0 评论 -
深入浅出MyBatis-MapperBuilder
目录(?)[+] Mapper文件里有什么子元素之cache子元素之cache-ref子元素之resultMap子元素之sql子元素之statement注册mapper类型 上一章节说道,解析mybatis的配置文件的最后一步是解析mapper元素。每个mapper元素对应一个mapper配置文件,这一章节就来讲讲这个mapper配置文件是如何解析的。 Mapper文件里有什么转载 2014-03-10 11:26:10 · 1029 阅读 · 0 评论 -
深入浅出MyBatis-Configuration
Configuration是干嘛的 Configuration就像是Mybatis的总管,Mybatis的所有配置信息都存放在这里,此外,它还提供了设置这些配置信息的方法。Configuration可以从配置文件里获取属性值,也可以通过程序直接设置。Configuration里可供配置的属性有: 1. properties属性 1) 配置示例 [html]转载 2014-03-10 11:26:58 · 1264 阅读 · 0 评论 -
深入浅出Mybatis-改造Cache
为了方便修改BUG,我在github上创建了一个仓库,地址:https://github.com/hupanfeng/hdd。欢迎大家在留言里提交问题,我会尽快修复,并将修复的代码提交至github上。 在前面的文章里,我开发了两个插件:根据注解实现的sql自动生成插件和分页插件。这两个插件在没有开启cache的情况下可以很好的使用,但开启cache后却出现了一些问题,为了解决这些问题,转载 2014-03-10 11:27:54 · 2524 阅读 · 0 评论