Mapper系列五:二级缓存

本文详细介绍了如何在MyBatis中配置并使用二级缓存功能,通过具体示例展示了如何在Mapper接口上使用@CacheNamespace注解来启用缓存,并通过一个测试类演示了缓存的有效性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、MyBatis配置文件开启二级缓存功能

<settings>
	<setting name="cacheEnabled" value="true"/>
</settings>

2、在 Mapper 接口上使用@CacheNamespace 注解

@CacheNamespace
public interface EmployeeMapper extends MyMapper<Employee> {

}

测试:

public class CacheTest {
	
	public static void main(String[] args) {
		ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("spring-context.xml");
		EmployeeService employeeService = context.getBean(EmployeeService.class);
		
		List<Employee> empList = employeeService.getAll();
		for (Employee employee : empList) {
			System.out.println(employee);
		}
		
		empList = employeeService.getAll();
		for (Employee employee : empList) {
			System.out.println(employee);
		}
		context.close();
	}
}

控制台输出:

第一次查询
Preparing: SELECT emp_id,emp_name,emp_salary,emp_age FROM tabple_emp   
Parameters:   
Total: 5 
Employee [empId=1, empName=newName01, empSalary=111.11, empAge=10]
Employee [empId=2, empName=newName02, empSalary=222.22, empAge=20]
Employee [empId=3, empName=newName03, empSalary=333.33, empAge=30]
Employee [empId=4, empName=kate, empSalary=2209.11, empAge=22]
Employee [empId=5, empName=justin, empSalary=4203.15, empAge=30]
第二次查询
Employee [empId=1, empName=newName01, empSalary=111.11, empAge=10]
Employee [empId=2, empName=newName02, empSalary=222.22, empAge=20]
Employee [empId=3, empName=newName03, empSalary=333.33, empAge=30]
Employee [empId=4, empName=kate, empSalary=2209.11, empAge=22]
Employee [empId=5, empName=justin, empSalary=4203.15, empAge=30]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值