瀏覽代碼

Jpa查询例子

yaoyi 4 周之前
父節點
當前提交
80b6033e0a

+ 21 - 7
src/main/java/com/hr/controller/DemoController.java

@@ -3,11 +3,8 @@ package com.hr.controller;
 
 import com.alibaba.fastjson2.JSONObject;
 
-import com.hr.dto.DemoExcelDto;
-import com.hr.dto.MyDto;
-import com.hr.dto.MyParmDto;
+import com.hr.dto.*;
 
-import com.hr.dto.TestDemoDto;
 import com.hr.fegin.dto.MyDemoDto;
 import com.hr.repository.jpa.TestJpa;
 import com.hr.repository.domain.TestEntity;
@@ -179,9 +176,26 @@ public class DemoController {
         return BaseReturnDto.success(list);
     }
 
-    @GetMapping("listname")
-    public BasePageResult<MyDemoDto> queryname(@RequestParam("name") String name) {
-        BasePageResult<MyDemoDto> lst=demoService.qyeryList(name);
+    /***
+     * 分页查询例子
+     * @param dto
+     * @return
+     */
+    @PostMapping("listname")
+    public BasePageResult<MyDemoDto> queryname(@RequestBody QueryDto dto) {
+        BasePageResult<MyDemoDto> lst=demoService.qyeryList(dto);
+
+        return  lst.success();
+    }
+
+    /***
+     * 分页查询例子,直接传Dto查询
+     * @param dto
+     * @return
+     */
+    @PostMapping("listpage2")
+    public BasePageResult<MyDemoDto> listpage2(@RequestBody QueryDto dto) {
+        BasePageResult<MyDemoDto> lst=demoService.qyeryList3(dto);
 
         return  lst.success();
     }

+ 15 - 0
src/main/java/com/hr/dto/QueryDto.java

@@ -0,0 +1,15 @@
+package com.hr.dto;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @author yaoy
+ * @createTime 2025/10/15 15:31
+ **/
+@Data
+public class QueryDto {
+    private String name;
+    private List<Integer> ids;
+}

+ 6 - 2
src/main/java/com/hr/repository/jpa/Demo1Jpa.java

@@ -1,5 +1,6 @@
 package com.hr.repository.jpa;
 
+import com.hr.dto.QueryDto;
 import com.hr.fegin.dto.MyDemoDto;
 import com.hr.repository.domain.Demo1Entity;
 import com.hr.repository.domain.TestEntity;
@@ -18,8 +19,11 @@ public interface Demo1Jpa extends JpaRepository<Demo1Entity, String> {
 
     public List<TestEntity> findByFname(String name);
 
-    @Query(nativeQuery=true,value="select t.* from demo1 t where t.fname like '%'||:name||'%'")
-    public BasePageResult<MyDemoDto> queryList(@Param("name") String name);
+    @Query(nativeQuery=true,value="select t.* from demo1 t where t.fname like '%'||:#{#d.name}||'%' and fid in (:#{#d.ids})")
+    public BasePageResult<MyDemoDto> queryList(@Param("d")  QueryDto dto);
+
+    @Query(nativeQuery=true,value="select t.* from demo1 t where t.fname like '%'||:name||'%' and fid in (:ids)")
+    public BasePageResult<MyDemoDto> queryList(@Param("name")   String name, @Param("ids") List<Integer> ids);
 
     public BasePageResult<MyDemoDto> select1(@Param("name") String fname,@Param("id") String id);
 }

+ 8 - 2
src/main/java/com/hr/repository/service/DemoService.java

@@ -1,6 +1,7 @@
 package com.hr.repository.service;
 
 import com.alibaba.fastjson2.JSONObject;
+import com.hr.dto.QueryDto;
 import com.hr.fegin.dto.MyDemoDto;
 import com.hr.repository.domain.TestEntity;
 import com.hr.repository.jpa.Demo1Jpa;
@@ -35,8 +36,13 @@ public class DemoService {
 //        }
     }
 
-    public BasePageResult<MyDemoDto> qyeryList(String name){
-        BasePageResult<MyDemoDto> list= demo1Jpa.queryList(name);
+    public BasePageResult<MyDemoDto> qyeryList(QueryDto dto){
+        BasePageResult<MyDemoDto> list= demo1Jpa.queryList(dto.getName(),dto.getIds());
+        return list;
+    }
+
+    public BasePageResult<MyDemoDto> qyeryList3(QueryDto dto){
+        BasePageResult<MyDemoDto> list= demo1Jpa.queryList(dto);
         return list;
     }