日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

spring-data-jpa Specification构建动态ql

發布時間:2023/12/31 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 spring-data-jpa Specification构建动态ql 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.持久層繼承JpaSpecificationExecutor

@Repository public interface DailyBillingRepository extends PagingAndSortingRepository<DailyBilling, Long>, JpaSpecificationExecutor<DailyBilling> {} 復制代碼

2.JpaSpecificationExecutor?提供的方法:

public interface JpaSpecificationExecutor<T> {T findOne(Specification<T> spec);List<T> findAll(Specification<T> spec);Page<T> findAll(Specification<T> spec, Pageable pageable);List<T> findAll(Specification<T> spec, Sort sort);long count(Specification<T> spec); } 復制代碼

調用 :

public Page<DailyBilling> getList(Integer page, Integer rows,String beginTime,String endTime,String result){//Specification創建動態sql//Root<ExportSubsidyPersonnel> root, CriteriaQuery<?> criteriaQuery, CriteriaBuilder criteriaBuilderSpecification<DailyBilling> specification= (root, query, cb) -> {Predicate predicate = cb.conjunction();if (StringHelper.isNotBlank(beginTime) && StringHelper.isNotBlank(endTime)){// sql ==》 billData between beginTime and endTimepredicate.getExpressions().add(cb.between(root.<Date>get("billData"), DateHelper.getDate(beginTime), DateHelper.getDate(endTime)));}if (StringHelper.isNotBlank(result) && !result.equals("2")){// sql ==》 differenceAmount = 0 或者 differenceAmount <> 0Predicate p = null;if ("1".equals(result)){p = cb.equal(root.<BigDecimal>get("differenceAmount"),BigDecimal.ZERO);}if ("0".equals(result)){p = cb.notEqual(root.<BigDecimal>get("differenceAmount"),BigDecimal.ZERO);}predicate.getExpressions().add(p);}return predicate;};return dailyBillingRepository.findAll(specification,new PageRequest(page,rows));} 復制代碼

CriteriaBuilder接口提供了操作sql的基本語句,可直接調用。

總結

以上是生活随笔為你收集整理的spring-data-jpa Specification构建动态ql的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。