java生成定时任务springboot和mybatis
Java生成定时任务可以使用Spring的定时任务框架,同时结合MyBatis实现数据的持久化。
- 添加依赖
在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>
- 配置定时任务
在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();
}
}
- 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>
- 运行
启动Spring Boot应用程序,并等待定时任务执行。
@SpringBootApplication
@EnableScheduling
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
原文地址: https://www.cveoy.top/t/topic/brfu 著作权归作者所有。请勿转载和采集!