mybatis3 使用注意事项
来源:互联网 发布:windows账户 编辑:程序博客网 时间:2024/06/16 09:01
这里讲解的都是mybatis3版本的特性,不保证适用其它版本。
1. mybatis缓存使用注意
mybatis自身带有很强大的缓存特性,用户可以通过配置文件进行配置。缓存可以提高mybatis的效率,但使用不当会导致程序的逻辑错误,有些场景我们需要禁掉缓存。- mybatis缓存配置有三个部分
- 全局缓存在mybatis-conf.xml中配置,配置方法<setting name="cacheEnabled" value="true"/>,默认是true
- mapper文件级别缓存作用域是Mapper XML文件,在配置文件中加一行 <cache/>,设置为true后这个mapper文件中的statement都带有缓存功能了
- 语句级别缓存是具体的sql语句缓存设置,配置方法如下:<select id="selectByMachineId" flushCache="true" parameterType="Long" resultType="com.netease.nbs.dao.model.BitmapFS">select * from NBS_BitmapFS where machineId = #{machineId}</select>
2. mybatis事物资源泄露问题
mybatis的session接口提供了commit()/commit(boolean)/rollback()/rollback(boolean)这四个接口,在提交或者回滚事物的时候我们要特别注意这借个接口的不同。
- 默认的commit和rollback语句:如果这个session中有update/delete/insert语句出现的话,事物会真正的被提交或者回滚。但是如果这个session在调用两个函数之前没有这几种语句,很抱歉mybatis会忽略事物的提交或者回滚操作。mybatis这样做的原因可能是它认为没有任何更新语句出现的话根本没有必要提交或者回滚事务,于是乎为了提交性能就悄悄的跳过这一步了。但是在我们的场景中经常会出现select for update语句,如果调用的默认的commit或者rollback之后close掉这个session就会导致mysql服务器端的事物资源一直存活,这将会导致很严重的问题。
- commit(boolean)/rollback(boolean): 这两个接口用户可以自行控制是否需要强制提交或者回滚事物,设置为true的话则任何情况下都会强制提交或者回滚事物。设置为false的话功能如默认的commit/rollback
0 0
- mybatis3 使用注意事项
- mybatis3 使用注意事项
- mybatis3.0的使用
- mybatis3使用经验
- Mybatis3.2.8 使用
- Mybatis3简单使用(PostgreSQL)
- Mybatis3
- 使用Mybatis3的拦截器进行分页
- Mybatis3.2使用心得 中文API
- mybatis3中@SelectProvider的使用技巧
- mybatis3中@SelectProvider的使用技巧
- mybatis3中注解方式使用mapper
- mybatis3中@SelectProvider的使用技巧
- mybatis3中@SelectProvider的使用技巧
- mybatis3中@SelectProvider的使用技巧
- mybatis3中@SelectProvider的使用技巧
- mybatis3中@SelectProvider的使用技巧
- 使用Mybatis3.10+spring3.10集成发生的错误
- nginx动静分离初尝试
- java、jsp、servlet编码问题
- 【一些协议对应osi模型中哪一层】、【tcp和udp协议的区别及应用】、【http协议和tcp协议的区别】
- servlet中页面跳转response.sendRedirect() 详解
- 相同的代码在eclipse中编译成功,但是用ant编译失败。无法确定<T>T的类型参数;对于上限为int,java.lang.Object的类型变量T,不存在唯一最大实例
- mybatis3 使用注意事项
- C++与Flash的交互
- java基础学习笔记2
- Shell解释器DIY
- 字典树简单知识及类实现
- mybatis中commit和rollback使用不当造成事务泄露和锁超时问题总结
- hdoj 1176 免费烧饼
- goldengate ddl enable,ORA-04098: trigger 'SYS.GGS_DDL_TRIGGER_BEFORE' is invalid
- mybatis select语句缓存使用注意事项