JavaEE-SSM:017 Mybatis映射器(8)

一级缓存:

默认情况下,一级缓存是自动开启的,在SqlSession层面上,同样的sql语句再次执行的时候,SqlSession会做检测,如果查询到已经有缓存,并且缓存有效,将不再请求数据库。

二级缓存:

二级缓存默认不开启,它是在SqlSessionFactory级别的,也就类似与数据库连接池中,需要POJO实现Serializable接口进行序列化和反序列化。

需要在Mapper.xml文件中配置缓存:

<cache/>

此情形下,select语句都会产生缓存,insert,delete,update都会刷新缓存。

二级缓存配置一览:

Redis缓存配置:

配置redis缓存:

<cache type="com.ssm.xxx.RedisCache">
    <property name="host" value="localhost"/>
</cache>
<!--默认缓存刷新配置-->
<select flushCache="false" userCache="true"/>
<insert flushCache="true"/>
<update flushCache="true"/>
<delete flushCache="true"/>

引用缓存配置:

<cache-ref namespace="com.ssm.xxx.xxxMapper"/>

存储过程的使用

定义存储过程:

定义POJO类:

Mapper.xml:

statementType指定是存储过程

mode指定参数的输入输出类型

jdbcType为了做好映射,指定数据库存储类型

使用游标

在存储过程中返回游标类型

jdbcType是Cursor类型

javaType是ResultSet

猜你喜欢

转载自blog.csdn.net/Day_and_Night_2017/article/details/84291267