您好,登錄后才能下訂單哦!
這篇文章主要介紹“MyBatis Plus QueryWrapper及LambdaQueryWrapper怎么使用”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“MyBatis Plus QueryWrapper及LambdaQueryWrapper怎么使用”文章能幫助大家解決問題。
假如我們有一張banner_item表,現需要通過banner_id查出所有數據(查詢List)
@Data public class BannerItem { private Long id; private String name; private String img; private String keyword; private Integer type; private Long bannerId; }
最基礎的使用方式是這樣
// 查詢條件構造器 QueryWrapper<BannerItem> wrapper = new QueryWrapper<>(); wrapper.eq("banner_id", id); // 查詢操作 List<BannerItem> bannerItems = bannerItemMapper.selectList(wrapper);
然后我們可以引入lambda,避免我們在代碼中寫類似的于banner_id的硬編碼
QueryWrapper<BannerItem> wrapper = new QueryWrapper<>(); wrapper.lambda().eq(BannerItem::getBannerId, id); List<BannerItem> bannerItems = bannerItemMapper.selectList(wrapper);
為了簡化lambda的使用,我們可以改寫成LambdaQueryWrapper構造器,語法如下:
LambdaQueryWrapper<BannerItem> wrapper = new QueryWrapper<BannerItem>().lambda(); wrapper.eq(BannerItem::getBannerId, id); List<BannerItem> bannerItems = bannerItemMapper.selectList(wrapper);
我們可以再次將QueryWrapper<BannerItem>.lambda()簡化,變成這個樣子
LambdaQueryWrapper<BannerItem> wrapper = new LambdaQueryWrapper<>(); wrapper.eq(BannerItem::getBannerId, id); List<BannerItem> bannerItems = bannerItemMapper.selectList(wrapper);
MyBatis-Plus還提供了一種鏈式查詢的方式,和上面的代碼效果一樣。
但是這種寫法偏向于炫技,可讀性沒有上面的代碼強,大家可以根據需要自行選擇方式。
List<BannerItem> bannerItems = new LambdaQueryChainWrapper<>(bannerItemMapper) .eq(BannerItem::getBannerId, id) .list();
如果只想查詢一條記錄,例如通過id查詢某條記錄的詳情,使用.one()即可,例如
BannerItem bannerItem = new LambdaQueryChainWrapper<>(bannerItemMapper) .eq(BannerItem::getId, id) .one();
關于“MyBatis Plus QueryWrapper及LambdaQueryWrapper怎么使用”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。