JPA 動態查詢
- JPA Repository 繼承JpaSpecificationExecutor
public interface VwUserEstateRepository extends CrudRepository<VwUserEstate, Integer> , JpaSpecificationExecutor<VwUserEstate> {
- 寫個方法處理動態查詢
protected static Specification<VwUserEstate> queryNotSendByTerms(Integer projectId, Integer materialCodeId, Integer batchId, Integer estateTypeId, Integer estateSubTypeId, List<Integer> estateIds, Integer uid) {
return new Specification<VwUserEstate>() {
public Predicate toPredicate(Root<VwUserEstate> root, CriteriaQuery<?> query, CriteriaBuilder builder) {
Predicate predicate = builder.conjunction ();
if (projectId != null) {
predicate.getExpressions().add(builder.equal(root.get(VwUserEstate_.projectId), projectId));
}
if (materialCodeId != null) {
predicate.getExpressions().add(builder.equal(root.get(VwUserEstate_.materialCodeId ), materialCodeId));
}
if (batchId != null) {
predicate.getExpressions().add(builder.equal(root.get(VwUserEstate_.batchId), batchId));
}
if (estateTypeId != null) {
predicate.getExpressions().add (builder.equal(root.get(VwUserEstate_.estateTypeId), estateTypeId));
}
if (estateSubTypeId != null) {
predicate.getExpressions().add(builder.equal(root.get(VwUserEstate_.estateSubTypeId), estateSubTypeId));
}
Iterator iterator = estateIds.iterator();
In in = builder.in(root.get(VwUserEstate_.id));
while (iterator.hasNext()) {
in.value(iterator.next());
}
predicate.getExpressions().add(builder.not(in));
predicate.getExpressions().add(builder.equal(root.get(VwUserEstate_.uid), uid));
return predicate;
}
};
}
- 呼叫動態查詢
Page<VwUserEstate> list = vwUserEstateRepository.findAll(where(queryNotSendByTerms(projectId, materialCodeId, batchId, estateTypeId, estateSubTypeId, estateIds, uid)), page);
相關推薦
Spring Data JPA動態查詢(多條件and)
ica cat 滿足 from pos true ans let tid entity: @Entity @Table(name = "data_illustration") public class Test { @Id @Gen
spring-data-jpa動態查詢
靜態查詢 extends JpaRepository<Stu,Integer> 動態查詢 extends JpaSpecificationExecutor<Stu> @Repository
spring jpa 動態查詢(Specification)
//dao層 繼承 擴充套件倉庫介面JpaSpecificationExecutor (JPA 2引入了一個標準的API)public interface CreditsEventDao extends JpaRepository<CreditsEventBean, Integer>,
Jpa動態查詢常用方法
使用Spring data JPA開發已經有一段時間了,這期間學習了一些東西,也遇到了一些問題,在這裡和大家分享一下。 前言: Spring data簡介: Spring Data是一個用於簡化資料庫訪問,並支援雲服務的開源框架。其主要目標是使得對資料的訪問變得方便快捷,並支援map-reduce框架和雲端
JPA 動態查詢
JPA Repository 繼承JpaSpecificationExecutor public interface VwUserEstateRepository extends CrudRepo
打包JPA動態查詢(CriteriaQuery) eq、ge、gt
封裝JPA動態查詢(CriteriaQuery) JPA動態查詢(CriteriaQuery)封裝的一段程式碼: package com.platform.framework.dao.jpa; import java.io.Serializable; import jav
SpringBoot中使用Spring Data Jpa 實現簡單的動態查詢的兩種方法
ppr eat value table 得到 blog .net ride integer 首先謝謝大佬的簡書文章:http://www.jianshu.com/p/45ad65690e33# 這篇文章中講的是spring中使用spring data jpa,使用了xml配
基於Spring Boot,使用JPA動態調用Sql查詢數據
註解 查詢 ldr http autowired dal -c osi 動態 在《基於Spring Boot,使用JPA操作Sql Server數據庫完成CRUD》,《基於Spring Boot,使用JPA調用Sql Server數據庫的存儲過程並返回記錄集合》完成了CRU
spring-data-jpa動態拼接sql語句實現動態的多表條件查詢
** spring-data-jpa 動態拼接sql語句 ** spring-data-jpa對於簡單的資料操作確實使用起來比較方便,但是對於一些比較複雜的動態的多表條件查詢就不是那麼簡單了,對於需要些sql語句並且需要動態的新增條件的時候就得使用jpa的EntityManager來
SpringData jpa 實現多條件動態查詢,分頁功能
問題由來: 剛開始使用springdata的時候,只會用findByName這樣的簡單查詢,這樣寫dao層確實非常的快,但是在我們做篩選功能的時候,這樣的查詢似乎很難滿足我們的需求,但是都已經用上的springdata又不想再去寫mybatis這樣在xml裡面判
spring jpa動態條件查詢並分頁
@GetMapping("/api/listPage") @ResponseBody public Map<String, Object> listPage(@RequestParam(value = "pageNumber", defaultV
Spring data JPA使用Specification實現動態查詢例子
實體類 package com.net263.domain; import java.math.BigDecimal; import java.util.Date; import javax.persistence.Column; import jav
Spring Data JPA之動態查詢
在日常工作中,Spring Data JPA的使用給我們帶來了極大的方便,但是實際業務中很多場景需要支援動態查詢。比如前端查詢功能提供了很多查詢條件,使用者可以根據一部分條件進行查詢,那麼後端就需要支援可配置的查詢服務。在使用mybatis等時,可以用動態查詢的方式輕鬆搞定,
springdata jpa使用Example快速實現動態查詢
Example官方介紹 Query by Example (QBE) is a user-friendly querying technique with a simple interface. It allows dynamic query creation
Spring-Data-JPA中使用Specification實現動態查詢
最近專案技術選型db框架選擇了使用JPA,剛開始時,使用jpa進行一些單表簡單的查詢非常輕鬆,大家寫的不亦樂乎,後來在遇到多條件動態查詢的業務場景時,發現現有的JpaRepository提供的方法和自己寫@Query已經滿足了不了需求,難不成要對所有的條件和欄位進
springboot結合spring-data-jpa的動態查詢
Criteria API 這套API可用於構建對資料庫的查詢。型別安全。通過定義元資料模型,在程式編譯階段就可以對型別進行檢查,不像SQL需要與Mysql進行互動後才能發現型別問題。 如下即為元資料模型。建立一個元模型類,類名最後一個字元為下劃線,內部的成員變數與Girl.
JPA學習(五):java持久化查詢語言JPQL--動態查詢的使用及語法限制
JPQL動態查詢(模糊查詢)中 萬用字元 與 動態變數 聯合使用 的限制: JPQL動態查詢 引數不存在問題解決: 錯誤使用方式=>形如如下程式碼: 1/2: public It
Spring data jpa 複雜動態查詢方式總結
一.Spring data jpa 簡介 首先我並不推薦使用jpa作為ORM框架,畢竟對於負責查詢的時候還是不太靈活,還是建議使用mybatis,自己寫sql比較好.但是如果公司用這個就沒辦法了,可以學習一下,對於簡單查詢還是非常好用的. 首先JPA是Java
Linq To Sql進階系列(六)用object的動態查詢與保存log篇
directory ont 簡單 lambda表達式 bind add dbo 所有 生成 動態的生成sql語句,根據不同的條件構造不同的where字句,是拼接sql 字符串的好處。而Linq的推出,是為了彌補編程中的 Data != Object 的問題。我們又該如何實現
thinkphp 區間查詢 組合查詢 復合查詢 動態查詢 SQL查詢
thinkphp 查詢操作區間查詢 默認使用AND 在最後面元素加上OR SELECT * FROM `weibo_user` WHERE ( `id` > 1 OR `id` < 3 ) $map[‘id‘]=array( array(‘gt‘,1), array(‘lt‘,3),