Java生成定时任务可以使用Spring的定时任务框架,同时结合MyBatis实现数据的持久化。

  1. 添加依赖

在pom.xml文件中添加以下依赖:

<dependencies>
    <!-- 定时任务 -->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>5.3.2</version>
    </dependency>
    <!-- MyBatis -->
    <dependency>
        <groupId>org.mybatis.spring.boot</groupId>
        <artifactId>mybatis-spring-boot-starter</artifactId>
        <version>2.1.4</version>
    </dependency>
</dependencies>
  1. 配置定时任务

在Spring Boot的启动类上添加@EnableScheduling注解,开启定时任务的自动配置。

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

在需要定时执行的方法上添加@Scheduled注解,设置执行时间。

@Service
public class UserServiceImpl implements UserService {
    @Autowired
    private UserMapper userMapper;

    @Override
    @Scheduled(fixedRate = 10000) // 每10秒执行一次
    public void updateUserStatus() {
        userMapper.updateUserStatus();
    }
}
  1. MyBatis配置

在application.properties中添加MyBatis的配置信息。

spring.datasource.url=jdbc:mysql://localhost:3306/test?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver

mybatis.mapper-locations=classpath:mapper/*.xml
mybatis.type-aliases-package=com.example.demo.bean

创建Mapper接口和Mapper XML文件。

@Mapper
public interface UserMapper {
    void updateUserStatus();
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<mapper namespace="com.example.demo.mapper.UserMapper">
    <update id="updateUserStatus">
        update user set status = 0 where status = 1
    </update>
</mapper>
  1. 运行

启动Spring Boot应用程序,并等待定时任务执行。

@SpringBootApplication
@EnableScheduling
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}
java生成定时任务springboot和mybatis

原文地址: https://www.cveoy.top/t/topic/brfu 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录