基于Spring+SpringMVC+MyBatis开发书评网利用Spring-Task自动计算图书评分以及评论人数

Posted 被雨遗忘的夏天

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于Spring+SpringMVC+MyBatis开发书评网利用Spring-Task自动计算图书评分以及评论人数相关的知识,希望对你有一定的参考价值。

目录

概要

1、 SQL的编写

2、 applicationContest.xml配置

3、 BookServiceImpl 实现

4、 任务调度


概要

利用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自动计算图书评分以及评论人数的主要内容,如果未能解决你的问题,请参考以下文章

spring与mybati整合方法

自己开发的音乐视频网站

Spring Boot整合Mybati之逆向工程

抽奖活动啦!5本SpringMVC+MyBatis相关3本Android Studio相关6本Kafka相关

spring+mybati java config配置引起的bean相互引用日志报警告问题

Spring基于注解及SpringMVC