posts - 339,  comments - 95,  views - 178万
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

随笔分类 -  MyBatis

MyBatis+Spring SQL效率测试报告
摘要:1. 数据库结构2. insert 测试insert 的测试包括1) 批量拼接values()插入2) 有事务for循环插入3) 无事务for循环插入测试 SQL: ( #{post.title}, #{post.content}, #{post.author}, #{post.status}, #{post.created} ) 测试代码... 阅读全文
posted @ 2013-08-26 23:27 ZimZz 阅读(4639) 评论(0) 推荐(0) 编辑
MyBatis使用Collection查询多对多或一对多结果集bug
摘要:情况描述:当使用JOIN查询,如果SQL查询出来的记录不是按id列排序的,则生成的List结果会有问题案例:1) 数据库模型简而言之一个Goods包含多个Goods_Img2) Java BeanGoods.javapublic class Goods { private Integer goodsId; private String goodsName; private Integer goodsStorageNum; private Integer goodsScore; private GoodsStatus goodsStatus; private ... 阅读全文
posted @ 2013-08-16 22:08 ZimZz 阅读(86716) 评论(8) 推荐(7) 编辑
利用MyBatis的动态SQL特性抽象统一SQL查询接口
摘要:1. SQL查询的统一抽象MyBatis制动动态SQL的构造,利用动态SQL和自定义的参数Bean抽象,可以将绝大部分SQL查询抽象为一个统一接口,查询参数使用一个自定义bean继承Map,使用映射的方法构造多查询参数.在遇到多属性参数(例如order by,其参数包括列名,升序降序类型,以及可以多个列及升降序类型凭借在order by之后)无法使用简单的key-value表示时,可以将参数单独抽象为一个类.将要用到的beanpackage com.xxx.mybatistask.bean;import com.xxx.mybatistask.support.jsonSerializer.Js 阅读全文
posted @ 2013-08-09 14:17 ZimZz 阅读(27767) 评论(5) 推荐(0) 编辑
MyBatis 物理分页
摘要:MyBatis使用RowBounds实现的分页是逻辑分页,也就是先把数据记录全部查询出来,然在再根据offset和limit截断记录返回为了在数据库层面上实现物理分页,又不改变原来MyBatis的函数逻辑,可以编写plugin截获MyBatis Executor的statementhandler,重写SQL来执行查询参考资料:http://blog.csdn.net/hupanfeng/article/details/9265341下面的插件代码只针对MySQLplugin代码package plugin;import java.sql.Connection;import java.sql.P 阅读全文
posted @ 2013-08-07 13:53 ZimZz 阅读(24409) 评论(1) 推荐(0) 编辑
MyBatis Lazy Loading
摘要:MyBatis的Lazy Loading可以实现延迟查询Bean里的嵌套成员类,控制lazy loading的属性有lazyLoadingEnabled: lazy loading开关,默认为trueaggressiveLazyLoading: 侵略性 lazy loading 开关, 默认为true, 这个属性比较搞笑,如果为true则当你访问任何一个属性都会加载所有的其他lazy load属性,即使你根本没有调用哪个lazy load属性,说白了就是aggressiveLazyLoading=true,则lazy load等于没用,所以要使用lazy load还是将其设为false一个使用 阅读全文
posted @ 2013-08-06 17:49 ZimZz 阅读(7209) 评论(0) 推荐(0) 编辑
MyBatis 缓存
摘要:MyBatis缓存分为一级缓存和二级缓存一级缓存MyBatis的一级缓存指的是在一个Session域内,session为关闭的时候执行的查询会根据SQL为key被缓存(跟mysql缓存一样,修改任何参数的值都会导致缓存失效)1)单独使用MyBatis而不继承Spring,使用原生的MyBatis的SqlSessionFactory来构造sqlSession查询,是可以使用以及缓存的,示例代码如下public class Test { public static void main(String[] args) throws IOException { String conf... 阅读全文
posted @ 2013-08-05 23:37 ZimZz 阅读(76002) 评论(5) 推荐(8) 编辑
MyBatis 查询示例
摘要:环境搭建数据库schema1)datasource.xml配置 2.applicationContext.xml --> 3. log4j.propertie... 阅读全文
posted @ 2013-08-05 16:05 ZimZz 阅读(14752) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示