Spring Data JPA 實現聯表查詢
Spring Data JPA在簡單的單表查詢上確實非常方便,不過如果需要聯表查詢就會變得複雜這裡寫一種聯表查詢的方法:通過 EntityManager
@RestController
@RequestMapping(value = "/friend")
public class FriendControl {
// 採用EntityManager進行聯表查詢
@Resource
EntityManager entityManager;
// 獲取個人的好友列表 getMyFriends
// friendId 好友的userId 傳入為查詢某個好友詳情
@RequestMapping(value = "getMyFriends",produces = "application/json;charset=utf-8", method = RequestMethod.POST)
public Result getMyFriends(
@RequestParam(value = "friendId",required = false)String friendId,
HttpServletRequest request
){
Integer userId = 1;
// 這裡需要我們寫原生sql去進行查詢
String sql="Select u.* from user u "
+ "left join friend f on f.friend_id=u.user_id "
+ "where f.user_id = "+userId;
// 拼接sql進行條件查詢
if(!(friendId==null||"".equals(friendId))){
sql += " and f.friend_id = " + friendId;
}
List<HashMap<String,Object>> resultList = entityManager.createNativeQuery(sql)
.unwrap(org.hibernate.Query.class) //暫不明確具體功能
.setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP) // 將結果轉成Map物件
.getResultList(); // 返回List結果陣列
return new Result(true,resultList); // Result類是你自己的封裝物件
}
}
相關文章
- Spring Data JPA 實現多表關聯查詢Spring
- spring data jpa 多對一聯表查詢Spring
- Spring JPA 聯表查詢Spring
- spring data jpa查詢Spring
- Spring Data JPA + QueryDSL實現CRUD和複雜查詢案例Spring
- SpringMVC+Spring Data JPA +Bootstrap 分頁實現和模糊查詢分頁SpringMVCboot
- SpringMVC+Spring Data JPA實現增刪改查操作SpringMVC
- spring data JPA 模糊查詢 --- 使用 LIKE --- 的寫法Spring
- spring data jpa關聯查詢(一對一、一對多、多對多)Spring
- Spring Data Jpa 複雜查詢總結 (多表關聯 以及 自定義分頁 )Spring
- JPA 連表查詢
- Spring JPA聯表情況下的複雜查詢Spring
- Spring Data Jpa 的簡單查詢多表查詢HQL,SQL ,動態查詢, QueryDsl ,自定義查詢筆記SpringSQL筆記
- JPA多表關聯查詢
- Spring Data JpaSpring
- Spring Data JPA之Spring Data JPA快速入門(三)Spring
- Spring JPA 定義查詢方法Spring
- JPA 之 多表聯合查詢
- Spring Data JPA中實現更新插入三種方法Spring
- jpa動態查詢與多表聯合查詢
- Spring Data Jpa APISpringAPI
- Spring Boot:整合Spring Data JPASpring Boot
- Spring Data JPA專案實戰(下)Spring
- 使用Spring Data JPA實現DDD聚合的動態投影Spring
- Spring Data JPA框架的Repository自定義實現詳解Spring框架
- Spring Data JPA中TransactionInterceptorSpring
- Spring Data JPA中ConfigurableTransactionManagerSpring
- SpringBoot整合Spring Data JPASpring Boot
- Spring Data JPA:解析CriteriaQuerySpring
- Spring Data JPA:解析SimpleJpaRepositorySpring
- Spring Data JPA:解析CriteriaBuilderSpringUI
- Spring Data JPA 的使用Spring
- Spring Data JPA基本增刪改查和JPQL查詢(含完整程式碼和視訊連線)Spring
- Spring Data JPA原始碼案例Spring原始碼
- Spring Data JPA REST Query CriteriaSpringREST
- Spring Data JPA簡單使用Spring
- 使用Spring Data JPA實現持久化層的簡化開發Spring持久化
- IntelliJ IDEA 2024.2 釋出:Spring Data JPA即時查詢、自動補全cron表示式IntelliJIdeaSpring