摘要:我们使用JPA的时候我们写的快捷方法,或者是HQL也就是对象sql。这里我们要用JPA来使用原生的sql进行数据库操作

这里我们使用了一个注解 @Query(value = “sql”,nativeQuery = true)

项目搭建等忽略,直接看Dao层,

value中的值就是你写的sql语句,切记【nativeQuery = true】默认是false,使用的Hql语句

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
package com.work.server.web.dao;

import com.work.server.web.entity.TaskList;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;

import java.util.List;

/**
* @Classname TaskListDao
* @Description TODO createByUserId
* @Date 2019/7/8 10:24
* @Created by lyc
*/
public interface TaskListDao extends JpaRepository<TaskList,String> {

//获取completeFrequency次数小于remindFrequency次数,并且getTaskByUser为null的数据,随机排序获取一条数据
@Query(value = "select * from task_list t where t.completeFrequency < t.remindFrequency and getTaskByUser is null order by rand() limit 1",nativeQuery = true)
public TaskList getRand();

}