MyBatis的一级缓存是sqlSession作用域的,默认开启,执行DML(insert, update, delete)操作后自动删除。
下面介绍一下如何开启MyBatis的二级缓存,作用域为Mapper:
1.修改config.xml配置文件:
<settings> <!-- 开启二级缓存 --> <setting name="cacheEnabled" value="true"/></settings>这里需要注意一下configuration标签下子标签的顺序。
2.在对应的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="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.对应的实体类需要实现序列化接口:
package com.wts.entity;import lombok.AllArgsConstructor;import lombok.Data;import lombok.NoArgsConstructor;import java.io.Serializable;@Data@AllArgsConstructor@NoArgsConstructorpublic class User implements Serializable { private long id; private String username; private String password;}这样就开启了MyBatis默认的二级缓存。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。