
mybatis
hxpjava1
毕业于武汉理工大学计算机系,12年开发架构经验,擅长java,k8s
展开
-
用mybatis 拦截器实现数据权限
@Intercepts( { @Signature(type = Executor.class, method = "query", args = { MappedStatement.class, Object.class, RowBounds.class, ResultHandler.class }) })public class DataAuthorityInterceptor im原创 2016-12-29 11:32:56 · 11468 阅读 · 3 评论 -
mybatis的setting配置
在mybaits中,setting的的配置参数如下(如果不在配置文件中配置将使用默认值):设置参数描述有效值默认值cacheEnabled该配置影响的所有映射器中配置的缓存的全局开关true | falsetruelazyLoadingEnabled延迟加载的全局开关。当开启时,所有转载 2017-09-10 15:33:09 · 333 阅读 · 0 评论 -
spring集成mybatis后,打印SQL语句
网上说mybatis的早前版本配置打印sql还比较简单,在3.0.6之后配置方式修改了。 现在的spring-mybatis.xml配置如下:bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> property name="dataSource" ref=转载 2017-09-10 15:31:36 · 360 阅读 · 0 评论 -
深入了解MyBatis二级缓存
深入了解MyBatis二级缓存一、创建Cache的完整过程我们从SqlSessionFactoryBuilder解析mybatis-config.xml配置文件开始:Reader reader = Resources.getResourceAsReader("mybatis-config.xml");SqlSessionFactory sqlSessionFactory =转载 2017-09-17 18:54:42 · 277 阅读 · 0 评论 -
MyBatis的flushCache和useCache的使用
(1)当为select语句时:flushCache默认为false,表示任何时候语句被调用,都不会去清空本地缓存和二级缓存。useCache默认为true,表示会将本条语句的结果进行二级缓存。(2)当为insert、update、delete语句时:flushCache默认为true,表示任何时候语句被调用,都会导致本地缓存和二级缓存被清空。转载 2017-09-17 18:50:32 · 415 阅读 · 0 评论 -
mybats redis二级缓存扩展
mybatis实现自定义二级缓存,最简单的做法,实现一个org.apache.ibatis.cache.Cache接口就可以了然后就是在sql xml文件里使用,这种简单实现有更新操作时会过期同一个配置文件里的查询缓存,但是跨配置文件就不好处理了。为了处理跨配置文件更新过期,需要自己实现RedisCachingExecutor implements Interceptor 下面贴代原创 2017-09-08 23:07:52 · 528 阅读 · 0 评论 -
《深入理解mybatis原理(六)》 MyBatis缓存机制的设计与实现如何细粒度地控制你的MyBatis二级缓存
前几天网友chanfish 给我抛出了一个问题,笼统地讲就是如何能细粒度地控制MyBatis的二级缓存问题,酝酿了几天,觉得可以写个插件来实现这个这一功能。本文就是从问题入手,一步步分析现存的MyBatis的二级缓存的不足之处,探讨一点可以改进的地方,并且对不足之处开发一个插件进行弥补。本文如下组织结构:一个关于MyBatis的二级缓存的实际问题当前MyBatis二级缓转载 2017-09-08 17:57:24 · 390 阅读 · 0 评论 -
使用Redis做MyBatis的二级缓存
使用Redis做MyBatis的二级缓存 通常为了减轻数据库的压力,我们会引入缓存。在Dao查询数据库之前,先去缓存中找是否有要找的数据,如果有则用缓存中的数据即可,就不用查询数据库了。如果没有才去数据库中查找。这样就能分担一下数据库的压力。另外,为了让缓存中的数据与数据库同步,我们应该在该数据发生变化的地方加入更新缓存的逻辑代码。这样无形之中增加了工作量,同时也是一种对原有代码的入侵转载 2017-09-08 16:48:38 · 515 阅读 · 0 评论 -
关于mybatis里面的Executor
原文地址:http://blog.youkuaiyun.com/w_intercool/article/details/7893344使用mybatis查寻数据,跟踪其执行流程最开始执行的语句 [java] view plaincopyprint? this.getSqlSession().selectList("QUERY-QUESTION转载 2017-09-08 16:42:53 · 647 阅读 · 0 评论 -
MyBatis 通过包含的jdbcType类型
MyBatis 通过包含的jdbcType类型BIT FLOAT CHAR TIMESTAMP OTHER UNDEFINEDTINYINT REAL VARCHAR BINARY BLOB NVARCHARSMALLINT DOUB转载 2017-09-16 13:17:23 · 308 阅读 · 0 评论 -
spring boot:如何优雅的使用mybatis
这两天启动了一个新项目因为项目组成员一直都使用的是mybatis,虽然个人比较喜欢jpa这种极简的模式,但是为了项目保持统一性技术选型还是定了 mybatis。到网上找了一下关于spring boot和mybatis组合的相关资料,各种各样的形式都有,看的人心累,结合了mybatis的官方demo和文档终于找到了最简的两种模式,花了一天时间总结后分享出来。orm框架的本质是简化编程中操作数转载 2017-09-16 13:11:59 · 353 阅读 · 0 评论 -
maven插件mybatis-generator自动生成
1、新建一个maven项目在pom.xml添加如下:[html] view plain copyplugins> plugin> groupId>org.mybatis.generatorgroupId> artifactId>mybatis-generator转载 2017-09-22 00:42:45 · 407 阅读 · 0 评论 -
Mybatis之typeAlias配置的3种方法
1.定义别名:typeAliases> typeAlias alias="User" type="cn.lxc.vo.User" />typeAliases>2.扫描包方式:typeAliases> package name="cn.lxc.vo" />typeAliases>3.注解方式:package cn.lxc.v转载 2017-09-06 17:33:55 · 443 阅读 · 0 评论 -
解决mybatis resultMap共享问题
要共享只需要用namespace.resultmapId就可以了前提是mybatis-config配置文件里同时配置了包含以上resultMap和使用者的映射文件。由于我的项目是多个子项目组成的,不同子项目间需要引用resultMap,mybatis-config文件里没有加入其他项目的映射文件,一直不成功,现在解决了。原创 2012-01-13 11:29:31 · 6074 阅读 · 5 评论 -
实现一个类是component 和component-scan功能,实现mbatis spring 零配置
方案:总的思路是这样的:在mybatis接口上加一个ZfComponent注解,告诉spring一些元信息,然后扩展sping让spring装配bean。这样做的好处是减少了配置文件,因为配置文件里很多配置是相同的,有重复的工作。具体实现方案;1:写一个ZfComponent注解2:写一个xml元素。其中需要一个Xsd文件,以及一个处理这个元素的handler。3:扩展原创 2012-06-19 20:41:38 · 1690 阅读 · 0 评论 -
mybatis 分页拦截器,经网上资料修改可用
@Intercepts({@Signature(type = StatementHandler.class, method = "prepare", args = {Connection.class})})public class PaginationInterceptor implements Interceptor{ private static final Log原创 2015-04-21 15:23:27 · 1181 阅读 · 0 评论 -
mybatis 二级缓存
MyBatis的二级缓存是Application级别的缓存,它可以提高对数据库查询的效率,以提高应用的性能。本文将全面分析MyBatis的二级缓存的设计原理。1.MyBatis的缓存机制整体设计以及二级缓存的工作模式如上图所示,当开一个会话时,一个 SqlSession 对象会使用一个 Executor 对象来完成会话操作, MyBatis 的二级缓存机制的关键就是对这个转载 2016-08-18 13:07:51 · 662 阅读 · 0 评论 -
用Maven插件生成Mybatis代码
现在代码管理基本上是采用Maven管理,Maven的好处此处不多说,大家用百度搜索会有很多介绍,本文介绍一下用Maven工具如何生成Mybatis的代码及映射的文件。一、配置Maven pom.xml 文件在pom.xml增加以下插件: plugin> groupId>org.mybatis.generatorgroupId转载 2017-09-11 21:09:21 · 355 阅读 · 0 评论