Mybatis-Plus 實戰完整學習筆記(七)------select測試二


1.查詢selectOne  (3.0.3版)

 1 @Test
 2     public void selectMethod() throws SQLException {
 3 
 4      // 根據ID獲取一個對象的數據
 5 
 6         Employee employee =employeeMapper.selectOne(new QueryWrapper<Employee>().eq("id","1"));
 7 
 8         if (employee!=null) {
 9             logger.info("++一個員工信息+++++"+gson.toJson(employee));
10         }
11 
12 
13              
14 
15 
16     }
View Code

其相當於SQL語句:SELECT id,last_name,email,gender,age FROM tbl_employee WHERE id = ?

2.3版本的寫法是直接注入一個對象,對象的set值就是查詢的條件,同時,ID要是Long或Integer類型,條件一定要唯一,否則,會報數據重復的異常。

1 Employee employee = new Employee();
2         employee.setId(1);
3 
4         Employee result =employeeMapper.selectOne(employee);
5 
6         if (result!=null) {
7             logger.info("++一個員工信息+++++"+gson.toJson(result));
8         }
View Code

2、查詢selectMaps(3.0.3新出)

 1 @Test
 2     public void selectMethod() throws SQLException {
 3 
 4         // 6、多個Map查詢
 5         Employee employee = employeeMapper.selectById(1);
 6 
 7         QueryWrapper<Employee> employeeQueryWrapper = new QueryWrapper<>();
 8 
 9         List<Map<String, Object>> employeeList =employeeMapper.selectMaps(employeeQueryWrapper);
10 
11  
12         if (!employeeList.isEmpty()) {
13             logger.info("++一個員工信息+++++"+gson.toJson(employeeList));
14         }
15 
16 
17 
18     }
View Code

寫法跟其他的查詢沒有區別,只是返回的結果,變成List<Map<String,Object>>,條件查詢跟上邊的一樣。

返回樣式

1 ++一個員工信息+++++[{"gender":"0","last_name":"Marry","id":1,"email":"1","age":55},{"gender":"0","last_name":"Marry","id":2,"email":"1","age":55},{"gender":"0","last_name":"Marry","id":3,"email":"1","age":55},{"gender":"0","last_name":"Marry","id":4,"email":"1","age":55},{"gender":"0","last_name":"Marry","id":12,"email":"1","age":55},{"gender":"0","last_name":"Marry","id":13,"email":"1","age":55},{"gender":"0","last_name":"Marry","id":14,"email":"1","age":55},{"gender":"0","last_name":"Marry","id":15,"email":"1","age":55},{"gender":"0","last_name":"Marry","id":16,"email":"1","age":55},{"gender":"0","last_name":"Marry","id":17,"email":"1","age":55},{"gender":"0","last_name":"Marry","id":18,"email":"1","age":55},{"gender":"0","last_name":"Marry","id":19,"email":"1","age":55},{"gender":"0","last_name":"Marry","id":20,"email":"1","age":55},{"gender":"0","last_name":"Marry","id":21,"email":"1","age":55}] (TestCRUD.java:159) 
View Code

本來以為是要裝多個map進去查詢就寫成下邊的樣子,結果不是那個意思

 1  // 6、多個Map查詢
 2         Employee employee = employeeMapper.selectById(1);
 3 
 4         Map<String,Object> map1 = new HashMap<>(16);
 5         map1.put("email",employee.getEmail());
 6         map1.put("age",employee.getAge());
 7 
 8         Employee employee2 = employeeMapper.selectById(2);
 9         Map<String,Object> map2 = new HashMap<>(16);
10         map2.put("email",employee2.getEmail());
11         map2.put("age",employee2.getAge());
12         
13         List<Map<String,Object>> mapList = new ArrayList<>();
14         mapList.add(map1);
15         mapList.add(map2);
16 
17 
18         QueryWrapper<List<Map<String, Object>>> maps = new QueryWrapper<List<Map<String, Object>>>();
19         maps.setEntity((mapList));
20 
21 
22         List<Map<String, Object>> employeeList =employeeMapper.selectMaps(maps);
View Code

3、查詢selectObjs

 1 @Test
 2     public void selectMethod() throws SQLException {
 3 
 4         // 7、selectObjs
 5         Employee employee = employeeMapper.selectById(1);
 6 
 7         List<Object> employeeList =employeeMapper.selectObjs(new QueryWrapper<Employee>().eq("email",employee.getEmail()));
 8         
 9 
10         if (!employeeList.isEmpty()) {
11             logger.info("++一個員工信息+++++"+gson.toJson(employeeList));
12         }
13 
14 
15     }
View Code

用法一樣,就是返回的結果是個Object類型。

4、統計結果查詢selectCount

 1  @Test
 2     public void selectMethod() throws SQLException {
 3 
 4         // 8、selectCount
 5          Employee employee = employeeMapper.selectById(1);
 6 
 7         Integer count = employeeMapper.selectCount(new QueryWrapper<Employee>().eq("email", employee.getEmail()));
 8 
 9         if (count > 0) {
10             logger.info("++統計結果:+++++" + count);
11         }
12 
13     }
View Code

5、分頁查詢selectPage

 1 @Test
 2     public void selectMethod() throws SQLException {
 3 
 4 //        9、分頁查詢
 5 
 6         Integer count = employeeMapper.selectCount(new QueryWrapper<Employee>().between("age", 0, 100)
 7                 .eq("gender", 0));
 8 
 9         IPage<Employee> employeeIPage = new Page<Employee>(1, 3,count);
10 
11         IPage<Employee>  employeeList = employeeMapper.selectPage(employeeIPage,new QueryWrapper<Employee>()
12                 .between("age", 0, 100)
13                 .eq("gender", 0));
14 
15         if (!employeeList.getRecords().isEmpty()) {
16             logger.info("++一個員工信息+++++" + gson.toJson(employeeList));
17         }
18 
19 }
View Code

6、分頁查詢返回map類型的selectMapsPage

 1 @Test
 2     public void selectMethod() throws SQLException {
 3 
 4         // 10、分頁查詢Map結果返回
 5         Integer count = employeeMapper.selectCount(new QueryWrapper<Employee>().between("age", 0, 100)
 6                 .eq("gender", 0));
 7 
 8         IPage<Employee> employeeIPage = new Page<Employee>(1, 3, count);
 9 
10         IPage<Map<String, Object>> employeeList = employeeMapper.selectMapsPage(employeeIPage, new QueryWrapper<Employee>()
11                 .between("age", 0, 100)
12                 .eq("gender", 0));
13 
14         if (!employeeList.getRecords().isEmpty()) {
15             logger.info("++一個員工信息+++++" + gson.toJson(employeeList));
16         }
17 
18     }
View Code

 System.out.println("返回數據:"+employeeIPage.getRecords());

System.out.println("總條數:"+page.getTotal());

System.out.println("當前頁碼:"+page.getCurrent());

System.out.println("總頁碼:"+page.getPages());

System.out.println("每頁顯示條數:"+page.getSize());

System.out.println("是否有上一頁:"+page.hasPrevious());

System.out.println("是否有下一頁:"+page.hasNext());

System.out.println("返回的數據:"+page.getRecords());


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM