mybatis
文章平均质量分 94
iteye_9083
这个作者很懒,什么都没留下…
展开
-
Mybatis深入剖析 - 功能结构及重要的类说明
Mybatis的功能架构分为三层(图片借用了百度百科): 1) API接口层:提供给外部使用的接口API,开发人员通过这些本地API来操纵数据库。接口层一接收到调用请求就会调用数据处理层来完成具体的数据处理。 2) 数据处理层:负责具体的SQL查找、SQL解析、SQL执行和执行结果映射处理等。它主要的目的是根据调用的请求完成一次数据库操作。 3) 基础支...2015-01-05 19:12:58 · 98 阅读 · 0 评论 -
深入浅出Mybatis-sql自动生成
转自 http://blog.csdn.net/hupanfeng/article/details/9320665 本文提供了一种自动生成sql语句的方法,它针对的对象是有主键或唯一索引的单表,提供的操作有增、删、改、查4种。理解本文和本文的提供的代码需要有java注解的知识,因为本文是基于注解生成sql的。本文适配的mybatis版本是3.2.2。 准备 为什么在Statem...原创 2015-02-26 10:02:03 · 176 阅读 · 0 评论 -
深入浅出Mybatis-改造Cache
转自 http://blog.csdn.net/hupanfeng/article/details/16950161 为了方便修改BUG,我在github上创建了一个仓库,地址:https://github.com/hupanfeng/hdd。欢迎大家在留言里提交问题,我会尽快修复,并将修复的代码提交至github上。 在前面的文章里,我开发了两个插件:根据注解实现的sql自动...原创 2015-02-26 10:01:47 · 147 阅读 · 0 评论 -
深入浅出Mybatis-与Spring集成
转自 http://blog.csdn.net/hupanfeng/article/details/21454847 单独使用mybatis是有很多限制的(比如无法实现跨越多个session的事务),而且很多业务系统本来就是使用spring来管理的事务,因此mybatis最好与spring集成起来使用。 前置要求 版本要求 项目 版本 下载地址 ...原创 2015-02-26 10:01:30 · 71 阅读 · 0 评论 -
深入浅出Mybatis-插件原理
转自 http://blog.csdn.net/hupanfeng/article/details/9247379 Mybatis采用责任链模式,通过动态代理组织多个拦截器(插件),通过这些拦截器可以改变Mybatis的默认行为(诸如SQL重写之类的),由于插件会深入到Mybatis的核心,因此在编写自己的插件前最好了解下它的原理,以便写出安全高效的插件。 代理链的生成 Mybat...原创 2015-02-25 11:35:10 · 53 阅读 · 0 评论 -
深入浅出MyBatis-Sqlsession
转自 http://blog.csdn.net/hupanfeng/article/details/9238127 前面的章节主要讲mybatis如何解析配置文件,这些都是一次性的过程。从本章开始讲解动态的过程,它们跟应用程序对mybatis的调用密切相关。本章先从sqlsession开始。 创建 正如其名,Sqlsession对应着一次数据库会话。由于数据库回话不是永久的,因此S...原创 2015-02-25 11:33:07 · 72 阅读 · 0 评论 -
深入浅出MyBatis-MapperBuilder
转自 http://blog.csdn.net/hupanfeng/article/details/9098453 上一章节说道,解析mybatis的配置文件的最后一步是解析mapper元素。每个mapper元素对应一个mapper配置文件,这一章节就来讲讲这个mapper配置文件是如何解析的。 Mapper文件里有什么 mapper配置文件是配置sql映射的地方,它看起来就像下面...原创 2015-02-25 11:31:45 · 73 阅读 · 0 评论 -
深入浅出MyBatis-Configuration是干嘛的
转自 http://blog.csdn.net/hupanfeng/article/details/9080545 Configuration是干嘛的 Configuration就像是Mybatis的总管,Mybatis的所有配置信息都存放在这里,此外,它还提供了设置这些配置信息的方法。Configuration可以从配置文件里获取属性值,也可以通过程序直接设置。Configur...原创 2015-02-25 11:30:44 · 632 阅读 · 0 评论 -
深入浅出MyBatis-快速入门
转自 http://blog.csdn.net/hupanfeng/article/details/9068003 简介 MyBatis的前身叫iBatis,本是apache的一个开源项目, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis。MyBatis是支持普通SQL查询,存储过程和高级映射的优秀持...原创 2015-02-25 11:28:03 · 84 阅读 · 0 评论 -
spring事务深入剖析 - 事务框架和mybatis如何衔接的
spring将事务和底层数据库操作分离,产生两个问题 第一个问题,事务代码的抽离; 第二个问题,数据连接的统一; 前面分析了第一个问题,现在看看第二个问题。 JDBC,事务的是附着在Connection对象上的,Connection对象同事是insert,update,delete数据库操作的对象,事务和操作数据库的Connection必须是同一个,才能起作用 在spring事务框架...2015-02-03 14:26:53 · 185 阅读 · 0 评论 -
Mybatis深入剖析 - typeHandlerRegistry parameterHandler resultSetHandler
Statement在具体orm的过程总,主要靠这三个类进行参数装配,结果装配和相应的类型转换 parameterHandler resultSetHandler typeHandlerRegistry protected BaseStatementHandler(Executor executor, MappedStatement mappedStatement, Object...2015-01-09 18:01:36 · 662 阅读 · 0 评论 -
Mybatis深入剖析 - 各种KeyGenerator的说明
KeyGenerator接口有三个实现类,SelectkeyGenerator,Jdbc3KeyGenerator,NoKeyGenerator 其中SelectkeyGenerator对应于生成主键操作,即针对insert类型的sql语句,配置selectKey的策略,自动为insert语句的参数补全id Jdbc3KeyGenerator和NoKeyGenerator对应于insert...原创 2015-01-09 11:10:27 · 1322 阅读 · 0 评论 -
Mybatis深入剖析 - StatementHandler初始化分析
如前文所诉,statementhandler是具体操作jdbc statement执行数据库sql的类 StatementHandler的初始化 跟随Executor,在Executor需要执行数据库操作时新建 依赖-Executor,MappedStatement, ResultHandler StatementHandler的创建过程如下 //Exe...2015-01-08 17:37:14 · 163 阅读 · 0 评论 -
Mybatis深入剖析 -Executor初始化分析
Executor的初始化 跟随SqlSession,Executory是SqlSession的对象属性 依赖-Transaction,执行时需要根据特定的事务,进行commit,rollback,close操作 Executory的创建过程如下 在Configuration的配置文件中执行全局的ExecutoryType,有BATCH,REUS...2015-01-06 11:33:41 · 169 阅读 · 0 评论 -
Mybatis深入剖析 - SqlSession的初始化分析
SqlSession的初始化 声明周期-SqlSession为回话声明周期,理论上一次用户请求,即一个线程里只开启一次session,使 用后即关闭 依赖-DefaultSqlSessionFactory为SqlSesson的工场类,看下面的代码,即可知道Configuration, Executor和Connection为它所依赖对象 ...2015-01-06 10:51:37 · 289 阅读 · 0 评论 -
Mybatis深入剖析 - 配置框架初始化分析
原始的初始化流程 1. 配置Configuration xml文件 2. SqlSessionFactoryBuilder.build拿到SqlSessionFactory(全局唯一) 3. 代码中的调用如下 SqlSession session= sqlSessionFactory.openSession(); UserDao userDao ...2015-01-05 19:25:57 · 96 阅读 · 0 评论 -
深入浅出Mybatis-分页
转自 http://blog.csdn.net/hupanfeng/article/details/9265341 Mybatis的分页功能很弱,它是基于内存的分页(查出所有记录再按偏移量和limit取结果),在大数据量的情况下这样的分页基本上是没有用的。本文基于插件,通过拦截StatementHandler重写sql语句,实现数据库的物理分页。本文适配的mybatis版本是3.2.2...原创 2015-02-26 10:02:16 · 70 阅读 · 0 评论