一、Mybatisplus條件查詢關鍵詞
Mybatisplus是基於Mybatis的增強工具,在Mybatis的基礎上只是進行了增強,因此其關鍵詞和Mybatis的關鍵詞大體相同,這些關鍵詞包括Select、From、Where、Group By、Having、Order By等常見關鍵詞。Mybatisplus還增加了一些特有的查詢關鍵詞,如:eq、ne、lt、le、gt、ge等,後面會講到。
二、Mybatisplus條件查詢日期
在實際項目中,我們常常需要按照日期進行查詢,例如查詢當天的數據、查詢某個日期範圍內的數據等。Mybatisplus提供了兩種方式來支持日期查詢:
1.通過使用實現JDBC規範的Date、Time、Timestamp類型來進行日期查詢。
2.通過使用Java8中的LocalDateTime類型來進行日期查詢。
// 使用JDBC規範的Date類型查詢當天的數據 List userList = userMapper.selectList(new QueryWrapper() .lambda() .eq(User::getCreateTime, new Date())); // 使用Java8中的LocalDateTime類型查詢某個日期範圍內的數據 LocalDateTime startTime = LocalDateTime.now().minusDays(7); LocalDateTime endTime = LocalDateTime.now(); List userList = userMapper.selectList(new QueryWrapper() .lambda() .between(User::getCreateTime, startTime, endTime));
三、Mybatisplus條件查詢疊加
疊加查詢用於查詢多個條件,例如查詢年齡大於18歲且性別為男性的用戶數據。 Mybatisplus提供了lambda方法進行疊加查詢,疊加查詢的條件可以通過and、or進行組合:
// 查詢年齡大於18歲且性別為男性的用戶數據 List userList = userMapper.selectList(new QueryWrapper() .lambda() .gt(User::getAge, 18) .and(user -> user.eq(User::getGender, "male")));
四、Mybatisplus條件查詢 一條數據
在實際項目中,我們通常只需要查詢一條數據,例如查詢某個用戶的詳細信息。Mybatisplus提供了單表查詢的方式來查詢一條數據:
// 查詢id為1的用戶的詳細信息 User user = userMapper.selectOne(new QueryWrapper() .lambda() .eq(User::getId, 1));
五、Mybatisplus條件查詢分頁
分頁查詢在實際項目中非常常見,例如在管理後台列表顯示時,需要支持分頁查詢。Mybatisplus提供了分頁查詢的方式通過Page對象進行實現:
// 第1頁,每頁顯示10條數據 Page page = new Page(1, 10); // 查詢所有的用戶數據並進行分頁 IPage userPage = userMapper.selectPage(page, new QueryWrapper()); // 獲取分頁查詢結果 List userList = userPage.getRecords();
六、Mybatisplus條件查詢中的eq的作用
在Mybatisplus條件查詢中,一些特殊的查詢關鍵詞被定義為函數,例如在查詢中使用eq可以將條件轉換成等於的形式,如下:
// 將條件轉換為等於的形式 new QueryWrapper() .eq("age", 18) .eq("gender", "male"); // 可以使用一下方式進行簡化 new QueryWrapper() .eq("age", 18, true);
七、Mybatisplus條件查詢一條
在Mybatisplus條件查詢中,我們可以通過selectOne方法查詢一條數據的方式來獲取對應的一條數據的詳細信息:
// 查詢id為1的用戶的詳細信息 User user = userMapper.selectOne(new QueryWrapper() .lambda() .eq(User::getId, 1));
八、Mybatisplus條件查詢不等於
在Mybatisplus條件查詢中,我們可以使用ne函數來代替””進行不等於的查詢:
// 查詢age不等於18的用戶數據 new QueryWrapper() .ne("age", 18);
九、Mybatisplus條件查詢條件
在Mybatisplus條件查詢中,我們可以通過and、or等關鍵詞將多個查詢條件進行組合:
// 查詢年齡大於18且性別為男性或女性的用戶數據 new QueryWrapper() .lambda() .gt(User::getAge, 18) .and(user -> user.eq(User::getGender, "male").or().eq(User::getGender, "female"));
以上就是Mybatisplus條件查詢的詳細介紹,具體用法基本與Mybatis相同,但是Mybatisplus使得我們更加方便快捷地進行實際項目的開發。
原創文章,作者:ORNV,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/138591.html