SpringDateJpa实现多条件分页动态sql语句
1创建SpringBoot项目
2导入依赖
在pom.xml复制如下代码
<!-- Spring Boot JPA 依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
3创建各包
controller 转发请求与响应
dao 接口方法存放
entity 实体类存放
service 业务方法
service.Imp方法实现
4.创建实体类
我这里创建的是Student(学生实体类)
//小辣椒创建get/set,toString()方法,没有的请加上get/set,toString()方法
@Data
//jpa自动创建数据库
@Entity
public class Student {
//主键标识
@Id
//自动递增
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer sId;//学生id
private String sName;//学生Name
private Integer sAge;//学生年龄
private Date sSex;//学生性别
}
5.在dao包创建接口
接口名StudentDao
/**
* 里面内置了许多实用的方法
* JpaRepository<Student, Integer>
* Student是实体类,Integer是实体类中主键的数据类型
*
* 生成动态sql的接口
* JpaSpecificationExecutor<Student>
*
*/
public interface StudentDao extends JpaRepository<Student, Integer>,JpaSpecificationExecutor<Student>{
6.创建业务接口
接口名StudentService
我们要完成的业务是多条件分页查询所以要创建一个自定义方法
public interface StudentService {
/**
* 分页多条件查询
*/
Map<String, Object> findAll(PageRequest pageable,Student student);
}