依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.12</version>
</dependency>
配置
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/duidui?charset=utf8mb4&useSSL=false
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.hikari.maximum-pool-size=200
spring.datasource.hikari.minimum-idle=50
spring.jpa.database-platform=org.hibernate.dialect.MySQL5InnoDBDialect
spring.jpa.show-sql=false
spring.jpa.hibernate.ddl-auto=create
entity
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.persistence.*;
import java.util.*;
@Entity
@Table(name = "dataexchange_task")
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class TaskDO {
@Id
@Column(name = "task_id", nullable = false)
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long taskID;
/**
* 任务开始时间
*/
private Date taskStartTime;
/**
* 服务唯一标识
*/
private String serviceID;
/**
* 任务状态
*/
private Integer status;
/**
* 0 未删除 1 已删除
* int 默认之为0
*/
private int isDelete;
/**
* 版本号
*/
private Integer version;
}
dao
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository;
import paas.dao.model.TaskDO;
@Repository
public interface TaskDao extends JpaRepository<TaskDO, Long> {
@Query(value = "SELECT * FROM dataexchange_task t WHERE t.status = ?1 AND t.is_delete = ?2 ",
countQuery = "SELECT count(*) FROM dataexchange_task t WHERE t.status = ?1 AND t.is_delete = ?2",
nativeQuery = true)
public Page<TaskDO> findUnExecuteTask(int status ,int isDelete, Pageable pageable);
}
启动类
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.domain.EntityScan;
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
import org.springframework.scheduling.annotation.EnableScheduling;
@SpringBootApplication(scanBasePackages = "paas")
@EnableJpaRepositories("paas.dao")
@EntityScan("paas.dao.model")
public class WebApiApplication {
public static void main(String[] args) {
SpringApplication.run(WebApiApplication.class, args);
}
}