天天看点

SpringBoot中使用Cache缓存的最简单实现(SpringData)

application.yml文件中配置show-sql方便对结果进行验证

spring:
  jpa:
    database: oracle
    show-sql: true
    generate-ddl: false
    dialect: org.hibernate.dialect.Oracle10gDialect
           

引入缓存相关依赖

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-cache</artifactId>
</dependency>
           

在启动类上添加注解"@EnableCaching"

@EnableCaching
@SpringBootApplication
public class Application{

	public static void main(String[] args) {
		SpringApplication.run(Application.class, args);
	}

}
           

在Dao层的方法上添加注解@Cacheable(cacheNames = "testName")

cacheNames是为缓存开启的空间指定名称,可以随便给,需要用到缓存的更多功能时才会用到该名称

@Query(value = "SELECT * FROM table_name WHERE XXX = ?1)", nativeQuery = true)
@Cacheable(cacheNames = "testName") 
List<Object[]> findByXXX(String XXX);
           

到这里就大功告成了, 接下来可以进行试验

启动项目后,访问调用了该Dao层方法的api,即可看到控制台打印出SQL,第二次访问发现SQL不再继续打印,修改数据库中的值,发现查询出来的值依然不会改变