MyBatis的一级缓存是sqlSession作用域的,默认开启,执行DML(insert, update, delete)操作后自动删除。
下面介绍一下如何开启MyBatis的二级缓存,作用域为Mapper:
1.修改config.xml配置文件:
1
2
3
4
|
< settings >
<!-- 开启二级缓存 -->
< setting name = "cacheEnabled" value = "true" />
</ settings >
|
这里需要注意一下configuration标签下子标签的顺序。
2.在对应的Mapper.xml中配置二级缓存:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
<? 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 = "com.wts.mapper.UserMapper" >
< cache ></ cache >
<!-- 新建用户 -->
< insert id = "insertUser" parameterType = "com.wts.entity.User" >
insert into user values (#{id}, #{username}, #{password})
</ insert >
</ mapper >
|
很简单,只需要加个cache标签就行了,如以上代码标黄部分。
3.对应的实体类需要实现序列化接口:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
package com.wts.entity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class User implements Serializable {
private long id;
private String username;
private String password;
}
|
这样就开启了MyBatis默认的二级缓存。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:https://www.cnblogs.com/viewts/p/13215346.html