学习笔记030——若依框架中定时任务的使用

该文章已生成可运行项目,

定时任务是软件开发中经常使用一个功能。

Java定时任务广泛应用于各种需要定时执行或周期性执行任务的场景,如:

  • 数据备份:定期备份数据库中的数据,确保数据的安全性和可靠性。
  • 数据同步:如果有多个数据源需要同步数据,可以使用定时任务来定期同步数据,确保数据的一致性。
  • 定时发送邮件或短信:在特定的时间点发送邮件或短信通知。
  • 定时清理日志或缓存:定期清理系统中的日志或缓存数据,确保系统的稳定性和性能。
  • 定时更新数据:定期从外部系统或数据库中获取最新数据,并更新到本地系统中。

下面我们介绍下若依框架中,定时任务的使用。

目录

1、编写添加定时任务处理类

2、平台创建定时任务

2.1、无参定时任务

2.2、有参定时任务

3、cron表达式的使用

4、定时任务开启和关闭

5、定时任务执行日志


1、编写添加定时任务处理类

若依是支持Bean调用、Class类调用。我们重点介绍Bean调用。

首先目标类需要添加对应的Bean注解:@Component或 @Service

@Component("Task")
public class ScheduledConfig {

    @Autowired
    private ISysOperLogService operLogService;
    @Autowired
    private ISysJobLogService jobLogService;

    /**
     * 定时清理  操作记录表、定时任务日志表    sys_oper_log、sys_job_log
     */
    public void delLog() {
        //操作日志
        operLogService.cleanOperLog();
        //定时任务日志
        jobLogService.cleanJobLog();
    }
}

2、平台创建定时任务

Task.delLog() 

Task:@Component("Task") 注解中的名字。

delLog():方法名。

2.1、无参定时任务

如上

2.2、有参定时任务

//举例子
public void demo(String code, Integer addr){
    System.out.println("有参定时任务");
}

创建一个有参方法(整型和字符型)

调用方法的写法:

Task.demo('5',1)

字符型参数:用 ' ' 。

整型参数:直接写数字。

3、cron表达式的使用

说明必填允许填写的值允许的通配符
0-59, - * /
0-59, - * /
0-23, - * /
1-31, - * /
1-12 / JAN-DEC, - * ? / L W
1-7 or SUN-SAT, - * ? / L #
1970-2099, - * /

举例子:

表达式说明
0 0 2 1 * ? *表示在每月的1日的凌晨2点调整任务
0 15 10 ? * MON-FRI表示周一到周五每天上午10:15执行作业
0 15 10 ? 6L 2002-2006表示2002-2006年的每个月的最后一个星期五上午10:15执行作
0 0 10,14,16 * * ?每天上午10点,下午2点,4点
0 0/30 9-17 * * ?朝九晚五工作时间内每半小时
0 0 12 ? * WED表示每个星期三中午12点
0 0 12 * * ?每天中午12点触发
0 15 10 ? * *每天上午10:15触发

4、定时任务开启和关闭

5、定时任务执行日志

 

本文章已经生成可运行项目
<think>好的,我需要帮助用户了解如何创建若依项目的数据库结构,特别是schema初始化的步骤。首先,我应该回忆一下若依项目的数据库相关文档或常见做法。若依是一个基于Spring Boot的权限管理系统,通常使用MySQL作为数据库,所以需要指导用户如何配置MySQL并执行初始化脚本。 用户提到了参考内容中的PostgreSQL初始数据库创建和另一个代码片段中的createConnect方法,这可能与数据库连接有关。虽然若依项目可能用的是MySQL,但初始化的流程可能有相似之处,比如使用命令行工具或执行SQL脚本。 接下来,我需要确定正确的步骤。通常,若依项目的数据库初始化步骤可能包括:安装MySQL,创建数据库,执行提供的SQL脚本,以及配置应用程序的连接参数。需要确保用户下载正确的SQL文件,通常这些文件在项目的文档或代码仓库中,比如GitHub上的ruoyi-vue项目的sql目录下。 另外,用户可能需要修改应用程序的配置文件,比如application-druid.yml,设置数据库的URL、用户名和密码。这部分需要具体说明配置文件的路径和需要修改的字段。 还需要考虑版本问题,不同版本的若依可能有不同的数据库结构,因此建议用户查看对应版本的文档。同时,提醒用户注意字符集和排序规则的设置,避免乱码问题。 最后,生成相关问题,帮助用户深入理解数据库迁移工具、多数据库支持、初始化脚本的编写以及常见错误处理。这些相关问题应该覆盖用户可能遇到的后续疑问,比如如何用Flyway管理版本,或者如何处理连接失败的情况。</think>### 若依项目数据库结构创建与初始化步骤 #### 1. 准备数据库环境 - **安装MySQL** 若依默认使用MySQL数据库(5.7+版本),需确保已安装并启动服务[^2]。 ```bash # 示例:Ubuntu安装MySQL sudo apt-get install mysql-server ``` - **创建空数据库** 使用命令行或工具(如Navicat)创建名为`ry`的数据库,字符集建议设置为`utf8mb4`: ```sql CREATE DATABASE ry CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; ``` #### 2. 执行初始化脚本 - **获取SQL脚本** 从若依官方GitHub仓库下载对应版本的SQL文件(如`ry_2023xxxx.sql`和`quartz.sql`),路径通常为: ``` /ruoyi-vue/sql/ ``` [^1] - **导入数据库** 通过命令行或工具执行脚本: ```bash mysql -u root -p ry < ry_2023xxxx.sql mysql -u root -p ry < quartz.sql ``` 此步骤会创建表结构、基础数据及定时任务配置。 #### 3. 配置应用连接 - **修改配置文件** 在若依项目的`ruoyi-admin/src/main/resources/application-druid.yml`中配置数据库连接信息: ```yaml url: jdbc:mysql://localhost:3306/ry?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8 username: root password: 你的密码 ``` #### 4. 验证初始化结果 - **检查数据表** 登录MySQL查看是否成功生成`sys_user`、`sys_menu`等核心表: ```sql USE ry; SHOW TABLES LIKE 'sys_%'; ``` - **启动项目测试** 运行若依后台服务,访问`http://localhost:8080`,使用默认账号`admin/admin123`登录验证功能完整性。 ### 注意事项 - **版本匹配**:SQL脚本需与若依版本严格对应,否则可能因表结构差异导致启动失败。 - **权限问题**:确保数据库用户有完整的`CREATE`、`ALTER`权限。 - **字符集一致性**:避免因编码问题出现中文乱码。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值