
MyBatis
老莫1688
生命不息 学习不止
展开
-
Mybatis源码分析--MapperScannerConfigurer
Mybatis MapperScannerConfigurer 自动扫描 将Mapper接口生成代理注入到SpringMybatis在与Spring集成的时候可以配置 MapperFactoryBean来生成Mapper接口的代理. 例如<bean id="userMapper" class="org.mybatis.spring.mapper.MapperFactoryBean"...原创 2016-07-07 14:53:20 · 458 阅读 · 0 评论 -
【Quartz】 Quartz用户手册
http://unmi.cc/quartz-job-scheduling-framework-chinese-pdf/ 欢迎关注公众号:原创 2016-07-29 14:03:32 · 759 阅读 · 0 评论 -
【Mybatis】深入浅出MyBatis(1)-快速入门
简介 MyBatis的前身叫iBatis,本是apache的一个开源项目, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis。MyBatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis使用简单的XML...原创 2016-07-29 09:45:49 · 511 阅读 · 0 评论 -
mybatis获取自增主键
1、主键是自增id(mysql) 在mapper文件的<insert>标签中添加useGeneratedKeys="true" keyProperty="id" <insert id="xxx" useGeneratedKeys="true" keyProperty="id">xxxx<insert>原创 2016-02-02 11:24:18 · 1976 阅读 · 0 评论 -
【Mybatis】深入浅出MyBatis(2)-Configuration
Configuration是干嘛的Configuration就像是Mybatis的总管,Mybatis的所有配置信息都存放在这里,此外,它还提供了设置这些配置信息的方法。Configuration可以从配置文件里获取属性值,也可以通过程序直接设置。Configuration里可供配置的属性有:1. properties属性1) 配置示例[html原创 2016-07-30 21:54:11 · 699 阅读 · 0 评论 -
【Mybatis】利用mybatis-paginator实现分页
利用mybatis-paginator实现分页 1、mybatis-paginator简介mybatis-paginator是gethub上的一个开源项目、用于java后台获取分页数据、该开源项目还提供一个列表组件(mmgrid)用于前端展示。该开源项目地址:https://github.com/miemiedev 2、该开源项目的使用说明:Maven中加入依赖:[...原创 2016-08-22 11:36:39 · 3662 阅读 · 0 评论 -
【myBatis】Mybatis中的拦截器
Mybatis 拦截器介绍1.1 目录1.2 前言1.3 Interceptor接口1.4 注册拦截器1.5 Mybatis可拦截的方法1.6 利用拦截器进行分页 拦截器的一个作用就是我们可以拦截某些方法的调用,我们可以选择在这些被拦截的方法执行前后加上某些逻辑,也可以在执行这些被拦截的方法时执行自己的逻辑而不再执行被拦截的方法。Mybatis拦截器设...原创 2016-09-29 10:55:07 · 47338 阅读 · 8 评论 -
【Mybatis】使用Interceptor进行分页
本文主要介绍如何使用Mybaits的拦截器 对Sql进行改造,以便支持分页。关于mybatis的拦截器使用以及原理可以参考我的另外一篇文章(http://www.cnblogs.com/daxin/p/3544188.html)。首先说一下实现原理,就是当Mybatis查询数据的时候,利用Mybatis提供的Interceptor对查询方法进行拦截,动态修改SQL,把不带分页的SQL...原创 2016-09-29 10:48:31 · 1659 阅读 · 0 评论 -
【Mybatis】mybatis在xml文件中处理大于号小于号的方法
第一种方法:用了转义字符把>和SELECT * FROM test WHERE 1 = 1 AND start_date <= CURRENT_DATE AND end_date >= CURRENT_DATE附:XML转义字符 <原创 2017-08-15 09:49:13 · 435 阅读 · 0 评论 -
【Mybatis】深入浅出MyBatis(3)-MapperBuilder
上一章节说道,解析mybatis的配置文件的最后一步是解析mapper元素。每个mapper元素对应一个mapper配置文件,这一章节就来讲讲这个mapper配置文件是如何解析的。Mapper文件里有什么mapper配置文件是配置sql映射的地方,它看起来就像下面这个样子:[html] view plain copyxml versi原创 2016-07-30 21:55:25 · 448 阅读 · 0 评论 -
【Mybatis】深入浅出MyBatis(4)-Sqlsession
前面的章节主要讲mybatis如何解析配置文件,这些都是一次性的过程。从本章开始讲解动态的过程,它们跟应用程序对mybatis的调用密切相关。本章先从sqlsession开始。创建正如其名,Sqlsession对应着一次数据库会话。由于数据库回话不是永久的,因此Sqlsession的生命周期也不应该是永久的,相反,在你每次访问数据库时都需要创建它(当然并不是说在Sqlsession里只原创 2016-07-30 21:56:48 · 506 阅读 · 0 评论 -
Mybatis源码分析系列
1、http://www.cnblogs.com/mengheng/p/3739610.html2、http://www.cnblogs.com/dongying/p/4031382.html 欢迎关注公众号:原创 2016-08-14 16:09:11 · 391 阅读 · 0 评论 -
【Mybatis】分页查询(拦截器分页原理及实现)
本文的内容将作为前面我们叙述的内容的内部原理篇的解释,希望各位读者能够仔细理解本篇的内容,下一篇,我们将详细的介绍如何实现一个生产环境下的分页查询,好了,马上开始我们的正文部分吧。【在此,先对开源世界的大神表示感谢】准备工作:Mybatis 3.3.1版本源码。【其他版本,请读者自行对比即可】----------------------------------------------...原创 2016-09-29 10:51:55 · 6009 阅读 · 0 评论 -
MyBatis中Like语句使用方式
oracle数据库: Java代码 SELECT * FROM user WHERE name like CONCAT('%',#{name},'%') 或 Java代码 SELECT * FROM user WHERE name like '%'||#{name}||'%' SQLServer数据库: ...原创 2016-08-22 16:59:20 · 1448 阅读 · 2 评论 -
【Mybatis】深入浅出MyBatis(9)-与Spring集成
单独使用mybatis是有很多限制的(比如无法实现跨越多个session的事务),而且很多业务系统本来就是使用spring来管理的事务,因此mybatis最好与spring集成起来使用。前置要求版本要求 项目 版本 下载地址 说明 mybatis 3.0及以上 ...原创 2016-07-30 22:05:05 · 474 阅读 · 0 评论 -
【Mybatis】深入浅出MyBatis(8)-改造Cache
在前面的文章里,我开发了两个插件:根据注解实现的sql自动生成插件和分页插件。这两个插件在没有开启cache的情况下可以很好的使用,但开启cache后却出现了一些问题,为了解决这些问题,我编写了拦截cache的插件,通过这个拦截器修正了这些问题。问题什么问题最容易出现的问题是开启cache后,分页查询时无论查询哪一页都返回第一页的数据。另外,使用sql自动生成插件生成get方法的sql...原创 2016-07-30 22:03:48 · 472 阅读 · 0 评论 -
【Mybatis】深入浅出MyBatis(7)-sql自动生成
本文提供了一种自动生成sql语句的方法,它针对的对象是有主键或唯一索引的单表,提供的操作有增、删、改、查4种。理解本文和本文的提供的代码需要有java注解的知识,因为本文是基于注解生成sql的。本文适配的mybatis版本是3.2.2。准备为什么在StatementHandler拦截在深入浅出MyBatis-Sqlsession章节介绍了一次sqlsession的完整执行过程,从...原创 2016-07-30 22:01:48 · 784 阅读 · 0 评论 -
【Mybatis】深入浅出MyBatis(6)-分页
Mybatis的分页功能很弱,它是基于内存的分页(查出所有记录再按偏移量和limit取结果),在大数据量的情况下这样的分页基本上是没有用的。本文基于插件,通过拦截StatementHandler重写sql语句,实现数据库的物理分页。本文适配的mybatis版本是3.2.2。准备为什么在StatementHandler拦截在深入浅出MyBatis-Sqlsession章节介绍了一原创 2016-07-30 21:59:56 · 639 阅读 · 0 评论 -
【Mybatis】深入浅出MyBatis(5)-插件原理
Mybatis采用责任链模式,通过动态代理组织多个拦截器(插件),通过这些拦截器可以改变Mybatis的默认行为(诸如SQL重写之类的),由于插件会深入到Mybatis的核心,因此在编写自己的插件前最好了解下它的原理,以便写出安全高效的插件。代理链的生成Mybatis支持对Executor、StatementHandler、PameterHandler和ResultSetHandler进行...原创 2016-07-30 21:58:20 · 466 阅读 · 0 评论 -
【Mybatis】mybatis中association和collection的column传入多个参数值
在使用 association和collection 进行关联查询的时候 column 参数可能会有多个,如下: 注意:parameterType 一定要是 java.util.Map 欢迎关注公众号:转载 2018-04-27 10:19:31 · 3454 阅读 · 3 评论