根据这个进一步完善:
今天测试了一下,如果传参根据参数进行查询,查到的数据不变,还是之前的数据
于是就对注解的参数进行了设置。
因为之前是这样写的@Cacheable(value = "businessList", key = "'businessList'"),这样太绝对了,于是把参数放进去,这样参数更改之后,就能够查询到不同的数据。
而@CacheEvict(value = "businessList", allEntries = true)这个注解就是你对数据进行操作之后清除缓存用的
@Service
@AllArgsConstructor
public class BusinessServiceImpl implements BusinessService {
@Autowired
private BusinessDao businessDao;
@Override
@Cacheable(value = "businessList", key = "'businessList_' + #businessRequest")
public Result<PageResult<Business>> list(BusinessRequest businessRequest) {
PageHelper.startPage(businessRequest.getPageNum(),businessRequest.getPageSize());
List<Business> list=businessDao.page(businessRequest);
PageInfo<Business> pageInfo = new PageInfo<>(list);
return PageResult.toResult(pageInfo.getTotal(),list);
}
@Override
@CacheEvict(value = "businessList", allEntries = true)
public void delete(Integer businessId) {
businessDao.delete(businessId);
}
}