mybatis+springmvc缓存设置

开始接触mybatis,本以为缓存设置好麻烦,在网上找了好多相关的资料,说得也都好复杂,经过自己亲自实践,其实很简单的。

首先引入需要的jar包,参照pom.xml配置:

 1 <!-- 缓存设置 start-->
 2 <dependency>
 3     <groupId>org.mybatis.caches</groupId>
 4     <artifactId>mybatis-ehcache</artifactId>
 5     <version>1.0.3</version>
 6 </dependency>
 7 <dependency>
 8     <groupId>net.sf.ehcache</groupId>
 9     <artifactId>ehcache-core</artifactId>
10     <version>2.6.8</version>
11 </dependency>
12 <dependency>
13     <groupId>org.slf4j</groupId>
14     <artifactId>slf4j-api</artifactId>
15     <version>1.5.10</version>
16 </dependency>
17 <!-- 缓存设置end -->

然后就是在mapper.xml中开启缓存设置即可:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="alias">
    <cache type="org.mybatis.caches.ehcache.EhcacheCache"/>
</mapper>

对于不需要缓存的select,只需要手动关闭即可:

<select id="findSecond" resultType="java.util.Date" useCache="false">
</select>

希望对你有帮助!

spring使用的版本为:3.0.5

时间: 2024-11-10 11:53:51

mybatis+springmvc缓存设置的相关文章

10.MyBatis 延迟加载,一级缓存,二级缓存 设置

什么是延迟加载  resultMap中的association和collection标签具有延迟加载的功能. 延迟加载的意思是说,在关联查询时,利用延迟加载,先加载主信息.使用关联信息时再去加载关联信息. 设置延迟加载 需要在SqlMapConfig.xml文件中,在<settings>标签中设置下延迟加载. lazyLoadingEnabled.aggressiveLazyLoading 设置项 描述 允许值 默认值 lazyLoadingEnabled 全局性设置懒加载.如果设为'fals

Spring+SpringMVC+MyBatis深入学习及搭建(八)——MyBatis查询缓存

1.什么是查询缓存 mybatis提供查询缓存,用于减轻数据库压力,提高数据库性能. mybatis提供一级缓存和二级缓存. 一级缓存是SqlSession级别的缓存.在操作数据库时需要构造sqlSession对象,在对象中有一个数据结构(HashMap)用于存储缓存数据.不同的sqlSession之间的缓存数据区域(HashMap)是互相不影响的. 二级缓存是mapper级别的缓存,多个sqlSession去操作同一个Mapper的sql语句,多个sqlSession可以共用二级缓存,二级缓存

MyBatis 延迟加载,一级缓存,二级缓存设置

什么是延迟加载  resultMap中的association和collection标签具有延迟加载的功能. 延迟加载的意思是说,在关联查询时,利用延迟加载,先加载主信息.使用关联信息时再去加载关联信息. 设置延迟加载 需要在SqlMapConfig.xml文件中,在<settings>标签中设置下延迟加载. lazyLoadingEnabled.aggressiveLazyLoading 设置项 描述 允许值 默认值 lazyLoadingEnabled 全局性设置懒加载.如果设为'fals

mybatis查询缓存——(十三)

1.     mybatis缓存介绍 如下图,是mybatis一级缓存和二级缓存的区别图解: mybatis提供查询缓存,用于减轻数据压力,提高数据库性能. mybaits提供一级缓存,和二级缓存. 一级缓存是SqlSession级别的缓存.在操作数据库时需要构造 sqlSession对象,在对象中有一个数据结构(HashMap)用于存储缓存数据.不同的sqlSession之间的缓存数据区域(HashMap)是互相不影响的. 二级缓存是mapper级别的缓存,多个SqlSession去操作同一个

【转】Spring+Mybatis+SpringMVC+Maven+MySql搭建实例

林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 摘要:本文主要讲了如何使用Maven来搭建Spring+Mybatis+SpringMVC+MySql的搭建实例,文章写得很详细,有代码有图片,最后也带有运行的效果. 本文工程免费下载 一.准备工作 1. 首先创建一个表: CREATE TABLE `t_user` ( `USER_ID` int(11) NOT NULL AUTO_INCREMENT, `USER_NAME` char(3

MyBatis一级缓存、二级缓存

一.MyBatis一级缓存 MyBatis默认启动一级缓存,一级缓存是SqlSession级别的 注意:有两个因素会使一级缓存失效:  1.对SqlSession进行commit()操作(即对数据库进行了增.删.改操作).数据库中的数据发生了改变,此时若再从内存中读取缓存的数据,则会读取到错误的数据信息,所以此时旧的一级缓存中的数据会清空,当用户下一次执行查询操作时, 会重新从数据库中读取数据并放入一级缓存中  2.关闭SqlSession.一级缓存的设计是每个sqlsession单独使用一个缓

Spring+Mybatis+SpringMVC+Maven+MySql搭建实例

林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 摘要:本文主要讲了如何使用Maven来搭建Spring+Mybatis+SpringMVC+MySql的搭建实例,文章写得很详细,有代码有图片,最后也带有运行的效果. 一.准备工作 1. 首先创建一个表: CREATE TABLE `t_user` ( `USER_ID` int(11) NOT NULL AUTO_INCREMENT, `USER_NAME` char(30) NOT NU

Spring+Mybatis+SpringMVC后台与前台分页展示实例(附工程)

林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 摘要:本文实现了一个后台由Spring+Mybatis+SpringMVC组成,分页采用PageHelper,前台展示使用bootstrap-paginator来显示效果的分页实例.整个项目由maven构成.这里主要讲了分页的实例,框架怎么搭建就不再说明,主要是在这里的基础上来增加分页功能的.注意,此文是在这个基础 Spring+Mybatis+SpringMVC+Maven+MySql搭建

MyBatis 之 缓存

MyBatis 和 Hibernate 一样具有 一级缓存 和 二级缓存. 1.  一级缓存:MyBatis 一级缓存的作用域 是 同一个SqlSession. 写一个 查询 User 的例子:   <!-- user 查询 -->   <select id="findUserById" parameterType="int" resultType="user">    select * from users where