1.maven 引入(父项目依赖):
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.1.RELEASE</version>
<relativePath /> <!-- lookup parent from repository -->
</parent>
jpa:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
2.使用jpa提供的crud 工具接口:JpaRepository<T, ID> pojo 以及主键类型,
复杂查询 (分页,排序)实现JpaSpecificationExecutor 接口
Specification<T> spec = new Specification<T>() {
@Override
public Predicate toPredicate(Root<Caseinformation> root, CriteriaQuery<?> query,
CriteriaBuilder criteriaBuilder) {
Predicate p1 = criteriaBuilder.equal(root.get("cideptid"), dtid);
Predicate p2 = criteriaBuilder.equal(root.get("cidelete"), "0");
Predicate p3 = criteriaBuilder.equal(root.get("citype"), citype);
Predicate fixed = criteriaBuilder.and(p1, p2, p3);
if (!StringUtils.isBlank(cidiseasesnames)) {
Predicate l1 = criteriaBuilder.like(root.get("cititle"), "%" + cidiseasesnames + "%");
Predicate l2 = criteriaBuilder.like(root.get("ciauthor"), "%" + cidiseasesnames + "%");
Predicate like = criteriaBuilder.or(l1, l2);
fixed = criteriaBuilder.and(fixed, like);
}
return fixed;
}
};
3.reository自定义查询:
@Query(value = "", nativeQuery = true)
PacsConfig findPconfigByDtid(@Param("dtid") String dtid);
当时用update delete语句时需要加上@Modifying
@Modifying
@Query(nativeQuery = true,value="")
public int addMembers(@Param("dgid")String dgid,@Param("userids")String[] userids);