
Mybatis
文章平均质量分 81
isea533
《MyBatis从入门到精通》作者,MyBatis分页插件PageHelper作者,通用Mapper作者,个人网站:https://mybatis.io
展开
-
Mybatis分页插件3.1.1版本发布
v3.1.1统一返回值为Page(可以直接按List使用),方便在页面使用EL表达式,如${page.pageNum},${page.total}<原创 2014-06-04 14:47:36 · 6312 阅读 · 7 评论 -
Mybatis分页插件 - 示例
Mybatis极其(最)简(好)单(用)的一个分页插件http://blog.csdn.net/isea533/article/details/23831273这里说最好用,绝对不是吹的,不过有好多人都不理解为什么要用这个插件,自己手写分页sql不是挺好吗......所以我特地写这样一个例子来讲为什么最好用。假设我们已经写好了Mapper的接口和xml,原创 2014-04-29 11:16:10 · 40727 阅读 · 25 评论 -
Mybatis分页插件2.0版本发布
v2.0更新内容:1.支持Mybatis缓存,count和分页同时支持(二者同步)2.修改拦截器签名,拦截Executor,签名如下:@Intercepts(@Signature(type = Executor.class, method = "query", args = {MappedStatement.class, Object.class, RowBounds.class, ResultHandler.class})) 3.将Page类移到外面,方便调用原创 2014-05-20 09:48:55 · 4430 阅读 · 3 评论 -
Mybatis分页插件更新
分页插件介绍:http://blog.csdn.net/isea533/article/details/23831273分页插件示例:http://blog.csdn.net/isea533/article/details/24700339如果你也在用Mybatis,建议尝试该分页插件,一定是最方便使用的分页插件。下载最新版代码:http://pan.baidu.c原创 2014-05-10 20:36:44 · 24915 阅读 · 11 评论 -
Mybatis 贴吧问答 第一期
贴吧地址:http://tieba.baidu.com/f?kw=mybatisMybatis 贴吧问答 系列打算一个月总结一次网友提出的问题和答案,在Mybatis贴吧凡是经过提问者确认过答案的问题最后都会加精,在精品贴的【解决问题】中可以看到所有这些内容。Mybatis 贴吧问答 第一期第一帖:新人求解问题哦,被卡了两天了,悲伤........我有一个jso原创 2014-04-18 20:38:10 · 3066 阅读 · 0 评论 -
Mybatis 示例之 复杂(complex)属性(property)
Mybatis示例专栏:http://blog.csdn.net/column/details/mybatis-sample.htmlMybatis的复杂属性,Mybatis的这个特点很少被提及,但是有些时候确实又有用。Mybatis的复杂属性指的什么呢?有如下两个对象:在User对象中有一个字段password,类型是EncryptedString,这原创 2014-04-18 08:40:43 · 19872 阅读 · 3 评论 -
Mybatis嵌套查询的原理与例子
本篇文章用到的表以及代码:http://blog.csdn.net/isea533/article/details/19821071最下面的3行数据,是用SQL查询出来的结果,下图是该数据和JAVA对象的对应关系。生成RowKey的方法:RowKey是为了唯一确定一条数据。如果用户设置了主键,就用主键名+值生成RowKey,如RowKey1用的 id和1(还有一个x原创 2014-02-24 15:11:50 · 9700 阅读 · 2 评论 -
Mybatis 在CS程序中的应用
因为mybatis好使,所以几乎需要操作数据库的时候,我都会使用mybatis,而且在一个正式的项目中,同时存在BS和CS的程序,都使用的Mybatis,使用的相同mapper文件。如果是自己用的Mybatis,不需要考虑对配置文件加密,如果不是,那就需要考虑加密,这篇文章主要讲如何配置CS的Mybatis。Mybatis的XML配置文件正常如下:<!DOCTYP原创 2013-06-07 16:01:03 · 3749 阅读 · 0 评论 -
Mybatis - 全站代码 - 中文文档下载 - api文档下载
site完整版(27.33M):http://pan.baidu.com/share/link?uk=1325762948&shareid=1936449064zh中文部分版(4.26M):http://pan.baidu.com/share/link?uk=1325762948&shareid=2008001201api版(生成不咋样,不知道和生产过程中的报错是否有关系)(1.74M):http://pan.baidu.com/share/link?uk=1325762948&shareid=2原创 2013-08-28 15:15:25 · 9636 阅读 · 3 评论 -
Mybatis嵌套查询讲解内容的基础
例子是参考Mybatis文档创建的一个简单例子,一共涉及4个表,每个表都有很少的几个属性。由于说明该内容需要东西太多,专门分成两篇文章,一篇提供表以及基础代码,一篇专门讲内容。表如下:Blog表Blog_user表Blog_post表Blog_comments表代码(其他对象不在这儿贴出来了,请需要原创 2014-02-24 14:36:59 · 9873 阅读 · 2 评论 -
Mybatis 示例之 Association (2)
接上篇:Mybatis 示例之 Association上一篇讲到了association的关联结果查询,这里讲association的关联的嵌套查询,这种方式用起来很容易,和关联结果查询相比缺点就是会执行关联SQL,增加一定的查询。关联的嵌套查询属性描述column来自数据库的类名,或重命名的列标签。这和通常传递给result原创 2014-03-11 13:44:03 · 10413 阅读 · 1 评论 -
Mybatis关联结果查询分页方法
在Mybatis分页插件的说明中有如下内容不支持的情况对于关联结果查询,使用分页得不到正常的结果,因为只有把数据全部查询出来,才能得到最终的结果,对这个结果进行分页才有效。因而如果是这种情况,必然要先全部查询,在对结果处理,这样就体现不出分页的作用了。对于关联嵌套查询,使用分页的时候,只会对主SQL进行分页查询,嵌套的查询不会被分页。对于不支持情况在原创 2014-06-06 20:30:39 · 23910 阅读 · 12 评论 -
JAVA - Sql解析工具fdb-sql-parser简单使用
由于想要解决Mybatis分页插件中count查询效率问题,因为order by很影响效率,所以需要一种方式处理sql,将order by 语句去掉。 试了好几个sql解析工具,最后选择了fdb-sql-parser。Maven依赖: com.foundationdb fdb-sql-parser 1.3.0项目地址:https://gi原创 2014-08-03 22:48:52 · 16938 阅读 · 4 评论 -
Mybatis分页插件3.2.3版本发布
v3.2.3解决mysql带有for update时分页错误的问题。当pageSize(或RowBounds的limit) 时不再进行分页查询,只会进行count查询(RowBounds需要配置进行count查询),相当于用分页查询来做count查询了。增加了pageSizeZero参数,当pageSizeZero=true时,如果pageSize=0(原创 2014-08-29 11:41:14 · 2652 阅读 · 1 评论 -
MyBatis接口的简单实现原理
MyBatis接口的简单实现原理用过MyBatis3的人可能会觉得为什么MyBatis的Mapper接口没有实现类,但是可以直接用?MyBatis是通过Java动态代理实现的接口。这里仅仅举个简单例子来说明原理,不是完全针对MyBatis的,这种思想我们也可以应用在其他地方。定义一个接口public interface MethodInterface { Str原创 2015-09-09 16:34:45 · 17650 阅读 · 3 评论 -
MyBatis多数据源配置(读写分离)
MyBatis多数据源配置(读写分离)首先说明,本文的配置使用的最直接的方式,实际用起来可能会很麻烦。实际应用中可能存在多种结合的情况,你可以理解本文的含义,不要死板的使用。多数据源的可能情况1.主从通常是MySql一主多从的情况,本文的例子就是主从的情况,但是只有两个数据源,所以采用直接配置不会太麻烦,但是不利于后续扩展,主要是作为一个例子来说明,实际操作请慎重考虑。针对这种情况,一个更好的解决方原创 2015-07-09 13:45:39 · 65821 阅读 · 21 评论 -
深入了解MyBatis返回值
深入了解MyBatis返回值想了解返回值,我们需要了解resultType,resultMap以及接口方法中定义的返回值。我们先看resultType和resultMapresultType和resultMap大家应该都知道在MyBatis的<select>标签中有两种设置返回值的方式,分别是resultMap和resultType。处理resultMap和resultType的代码如下:priva原创 2015-06-10 17:07:01 · 123275 阅读 · 18 评论 -
MyBatis实现SaveOrUpdate
MyBatis实现SaveOrUpdate这篇文章主要讲如何通过xml方式实现SaveOrUpdate,但是仍然建议在Service中实现。例子<insert id="saveOrUpdate" > <selectKey keyProperty="count" resultType="int" order="BEFORE"> select count(*) from country wh原创 2015-05-08 13:31:39 · 92382 阅读 · 9 评论 -
深入了解MyBatis参数
相信很多人都遇到过下面这些异常:"Parameter 'xxx' not found. Available parameters are [...]"等等不只是上面提到的这几个,我认为有很多的错误都产生在和参数有关的地方。想要避免参数引起的错误,我们需要深入了解参数。想了解参数,我们首先看MyBatis处理参数和使用参数的全部过程。本篇由于为了便于理解和深入,使用了大量的源码,因此篇幅较长,需要一定的耐心看完原创 2015-03-02 09:36:01 · 158813 阅读 · 31 评论 -
MyBatis日期用法技巧
MyBatis日期用法技巧原创 2015-05-12 12:59:30 · 28711 阅读 · 1 评论 -
MyBatis-Spring配置简单了解
MyBatis-Spring配置简单了解SqlSessionFactoryBean配置在基本的 MyBatis 中,session 工厂可以使用 SqlSessionFactoryBuilder 来创建。而在 MyBatis-Spring 中,则使用 SqlSessionFactoryBean 来替代。示例&lt;bean id=&quot;sqlSessionFactory&quot; class=&quot;org.mybatis原创 2015-05-11 11:10:10 · 62785 阅读 · 11 评论 -
Mybatis 示例之 foreach (上)
(由于csdn抽风,所以删除两篇重复内容重发)foreach一共有三种类型,分别为List,[](array),Map三种。foreach的第一篇用来将List和数组(array)。下面表格是我总结的各个属性的用途和注意点。foreach属性属性描述item循环体中的具体对象。支持属性的点路径访问,如item.age,it原创 2014-03-14 14:54:49 · 123084 阅读 · 10 评论 -
Mybatis 示例之 foreach (下)
foreach是用来对3种类型的对象进行循环操作的,关于foreach的基础知识请看:Mybatis 示例之 foreach (上)这节讲的是foreach中map的用法。map和List,array相比,map是用K,V存储的,在foreach中,使用map时,index属性值为map中的Key的值。因为map中的Key不同于list,array中的索引,原创 2014-03-28 08:24:05 · 38252 阅读 · 10 评论 -
深入了解MyBatis二级缓存
MyBatis深入了解二级缓存原创 2015-03-30 08:57:42 · 86296 阅读 · 31 评论 -
Mybatis 示例之 TypeHandler
关于TypeHandler的基础内容可以参考官方中文文档: http://mybatis.github.io/mybatis-3/zh/configuration.html#typeHandlersTypeHandler写起来很容易,但是有一个很重要的点需要注意。你是否遇到过类似下面的错误:Caused by: java.lang.RuntimeException: 调用方法异常:java.l原创 2015-02-28 16:34:02 · 42430 阅读 · 2 评论 -
如何开发自己的通用Mapper
前言自从发了通用Mapper-0.1.0版本后,我觉得对少数人来说,这可能是他们正好需要的一个工具。至少目前的通用DAO中,很少能有比这个更强大的。但是对另一部分人来说,使用Mybatis代码生成器(我正在和一些朋友翻译这个文档,地址:MyBatis Generator)生成xml很方便,不需要使用通用Mapper。实际上如果你无法在自己的业务中提取出通用的原创 2014-12-12 12:33:40 · 14682 阅读 · 7 评论 -
Mybatis 的Log4j日志输出问题 - 以及有关日志的所有问题
使用Mybatis的时候,有些时候能输出(主要是指sql,参数,结果)日志。有些时候就不能。无法输出日志的时候,无论怎么配置log4j,不管是properties的还是xml的,都不起作用。有些时候,我们没做什么配置就能输出日志....这是一个让无数人烦躁的问题。其实解决问题很容易(我过了这么久才解决,以前都用拦截器输出)。这是一个普大喜奔的日子,让原创 2014-04-04 14:24:12 · 118919 阅读 · 19 评论 -
Mybatis 分页插件 3.3.0 发布
项目地址gitosc地址:http://git.oschina.net/free/Mybatis_PageHelpergithub地址:https://github.com/pagehelper/Mybatis-PageHelper如果你也在用Mybatis,建议尝试该分页插件,这个一定是最方便使用的分页插件。该插件目前支持Oracle,Mysql,Mari原创 2014-12-04 13:38:34 · 3384 阅读 · 2 评论 -
Mybatis通用Mapper
极其方便的使用Mybatis单表的增删改查项目地址:http://git.oschina.net/free/Mapper优点?不客气的说,使用这个通用Mapper甚至能改变你对Mybatis单表基础操作不方便的想法,使用它你能简单的使用单表的增删改查,包含动态的增删改查.程序使用拦截器实现具体的执行Sql,完全使用原生的Mybatis进行操作.你还在因为数据原创 2014-11-25 09:07:01 · 223996 阅读 · 61 评论 -
ibatis迁移到mybatis3
DocUpgrade3 这一页提供了一些当你从ibatis迁移到mybatis3时非常有用的信息。不能保证100%的完整。这个项目现在的地址是 Github https://github.com/mybatis/ibatis2mybatis转换工具在下载区有一个可用的工具,可以帮你将iBATIS 2.x sqlmap文件转换为MyBatis 3.x xml ma翻译 2014-11-26 16:42:33 · 20578 阅读 · 5 评论 -
Mybatis工具SqlHelper - 获取Mybatis方法的Sql
如果你想在代码中获取执行的sql原创 2014-10-13 14:27:46 · 31618 阅读 · 9 评论 -
Mybatis 示例之 Association
接下来的文章中,关于Mybatis的示例,全部来自于Mybatis代码中的单元测试代码,通过这些代码能够学习Mybatis中很有用的知识,这些内容在doc文档中可能只是简单提到了,或者有一些文字说明,通过这些单元测试能更直观的了解如何在Mybatis使用这些内容。association – 一个复杂的类型关联;许多结果将包成这种类型嵌入结果映射 – 结果映射自身的关联,或者原创 2014-03-09 22:42:18 · 121020 阅读 · 7 评论