基于Spring+SpringMVC+MyBatis开发书评网利用Spring-Task自动计算图书评分以及评论人数
Posted 被雨遗忘的夏天
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于Spring+SpringMVC+MyBatis开发书评网利用Spring-Task自动计算图书评分以及评论人数相关的知识,希望对你有一定的参考价值。
目录
概要
利用Spring自带的定时任务组件,进行图书评分以及评论人数的更新
1、 SQL的编写
<update id="updateEvaluation">
update book b SET evaluation_score = (
select ifnull(avg(score),0) from evaluation where book_id = b.book_id and state='enable'
),evaluation_quantity = (
select ifnull(count(*),0) from evaluation where book_id = b.book_id and state='enable'
)
</update>
2、 applicationContest.xml配置
<!-- 开启Spring Task定时任务的注解模式-->
<task:annotation-driven/>
3、 BookServiceImpl 实现
/**
* 更新图书评分/评价数量
*/
// 开启声明式事务
@Transactional
public void updateEvaluation() {
bookMapper.updateEvaluation();
}
4、 任务调度
/**
* @className: ComputeTask
* @author: 李绍宇
* @description: 完成自动计算任务
* @date: 2021/7/24 14:34
* @version: 1.0
*/
@Component
public class ComputeTask {
@Resource
private BookService bookService;
// 任务调度: 每分钟更新
@Scheduled(cron = "0 * * * * ?")
public void updateEvaluation(){
bookService.updateEvaluation();
System.out.println("已更新所有图书评分");
}
}
以上是关于基于Spring+SpringMVC+MyBatis开发书评网利用Spring-Task自动计算图书评分以及评论人数的主要内容,如果未能解决你的问题,请参考以下文章
抽奖活动啦!5本SpringMVC+MyBatis相关3本Android Studio相关6本Kafka相关