引入JPA的依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
编写Entity
@Entity
@DynamicUpdate
@Data
public class ProductCategory {
/** 类目id. */
@Id
@GeneratedValue
private Integer categoryId;
/** 类目名字. */
private String categoryName;
/** 类目编号. */
private Integer categoryType;
private Date createTime;
private Date updateTime;
public ProductCategory() {
}
}
编写持久层接口
让接口继承JpaRepository接口,然后编写JPQL
public interface OrderDetailRepository extends JpaRepository<OrderDetail, String> {
List<OrderDetail> findByOrderId(String orderId);
}
总结-注意事项
JPA的分页非常简单,只需要在普通查询方法上Pageable接口,然后再传一个PageRequest对象
public Page<OrderDTO> findList(Pageable pageable) {
Page<OrderMaster> orderMasterPage = orderMasterRepository.findAll(pageable);
List<OrderDTO> orderDTOList = OrderMaster2OrderDTOConverter.convert(orderMasterPage.getContent());
return new PageImpl<>(orderDTOList, pageable, orderMasterPage.getTotalElements());
}
@GetMapping("/list")
public ModelAndView list(@RequestParam(value = "page", defaultValue = "1") Integer page,
@RequestParam(value = "size", defaultValue = "10") Integer size,
Map<String, Object> map) {
PageRequest request = new PageRequest(page - 1, size);
Page<OrderDTO> orderDTOPage = orderService.findList(request);
map.put("orderDTOPage", orderDTOPage);
map.put("currentPage", page);
map.put("size", size);
// orderDTOPage.getTotalPages()
return new ModelAndView("order/list", map);
}
带条件分页查询-把条件传入即可