系列文章目錄
Mybatis-Plus知識(shí)點(diǎn)[MyBatis+MyBatis-Plus的基礎(chǔ)運(yùn)用]_心態(tài)還需努力呀的博客-CSDN博客?
Mybatis-Plus+SpringBoot結(jié)合運(yùn)用_心態(tài)還需努力呀的博客-CSDN博客
MyBaits-Plus中@TableField和@TableId用法_心態(tài)還需努力呀的博客-CSDN博客
MyBatis-Plus中的更新操作(通過id更新和條件更新)_心態(tài)還需努力呀的博客-CSDN博客
MyBatis-Plus刪除操作知識(shí)點(diǎn)總結(jié)_心態(tài)還需努力呀的博客-CSDN博客_mybatis-plus刪除
MyBatis-Plus配置之基礎(chǔ)配置(SpringBoot)_心態(tài)還需努力呀的博客-CSDN博客
注:上述所列只是部分文章,本系列還在更新中~感興趣可看專欄哦~
文章目錄
目錄
系列文章目錄
文章目錄
前言
1.1 like
1.2?notLike
1.3?likeLeft
1.4 likeRight
二、排序查詢
2.1 orderBy
2.2 orderByAsc
2.3 orderByDesc
三、邏輯查詢
3.1 and
3.2 or
四、指定字段字段
總結(jié)
前言
MyBatis-Plus中的各種常用的方法已經(jīng)總結(jié)完了,基本上能完成單表中的大部分操作。還有一小部分操作就是用戶的搜索,這里就會(huì)使用到模糊查詢?nèi)フ故窘o用戶搜索到的內(nèi)容。內(nèi)容也可排序返回給展示到前端頁面,也會(huì)用到邏輯查詢和只查詢到指定字段顯示到頁面。應(yīng)對這種需求,MP也給我們提供了很多的方法,下面我們一一用這些常用的方法寫案例帶大家理解~
首先大家要明白條件構(gòu)造器就是我們的QueryWrapper。今天我們學(xué)的就是QueryWrapper下提供的條件構(gòu)造。
一、模糊查詢
模糊查詢提供了四個(gè)方法:
1.1 like
- LIKE '%值%'
- 例:?
like("name", "王")
--->name like '%王%'
1.2?notLike
- NOT LIKE '%值%'
- 例:?
notLike("name", "王")
--->name not like '%王%'
1.3?likeLeft
- LIKE '%值'
- 例:?
likeLeft("name", "王")
--->name like '%王'
1.4 likeRight
- LIKE '值%'
- 例:?
likeRight("name", "王")
--->name like '王%'
我們以第四個(gè)likeRight方法做測試:
編寫testLikeRight()測試方法,查詢所有用戶名以‘哈’開頭的用戶信息。代碼編寫如下:
//模糊查詢 like----‘%值%’、notlike ----NOT LIKE'%值%'、likeLeft-----'%值'、likeRight-----'值%'
@Test
public void testLikeRight(){
QueryWrapper<User> wrapper=new QueryWrapper<>();
//用戶名以‘哈’開頭的用戶
wrapper.likeRight("user_name","哈");
List<User> users = userMapper.selectList(wrapper);
for (User user : users) {
System.out.println(user);
}
}
通過查看效果圖(下圖所示),生成的sql代碼條件是user_name LIKE,后面是‘哈%‘。執(zhí)行結(jié)果也可看出查詢到的用戶都是以‘哈‘開頭的。測試成功~
?文章來源:http://www.zghlxwxcb.cn/news/detail-462020.html
二、排序查詢
2.1 orderBy
- 排序:ORDER BY 字段, ...
- 例:?
orderBy(true, true, "id", "name")
--->order by id ASC,name ASC
2.2 orderByAsc
- 排序:ORDER BY 字段, ... ASC
- 例:?
orderByAsc("id", "name")
--->order by id ASC,name ASC
注:對比orderBy和orderByAsc可發(fā)現(xiàn)orderBy方法默認(rèn)就是升序排序。兩者效果一樣,但第二種可讀性強(qiáng)一些。
2.3 orderByDesc
- 排序:ORDER BY 字段, ... DESC
- 例:?
orderByDesc("id", "name")
--->order by id DESC,name DESC
我們以降序排序?yàn)槔归_測試:
編寫testOrderDesc()的測試方法,將所有用戶以id降序排序輸出用戶信息。編寫代碼如下:
//排序查詢
//orderBy 默認(rèn)升序、orderByAsc 升序、orderByDesc 降序
@Test
public void testOrderDesc(){
QueryWrapper<User> wrapper=new QueryWrapper<>();
//以id降序?yàn)槔? wrapper.orderByDesc("user_id");
List<User> users = userMapper.selectList(wrapper);
for (User user : users) {
System.out.println(user);
}
}
?通過查看效果圖(下圖所示),生成的sql代碼通過user_id進(jìn)行DESC降序排序。執(zhí)行結(jié)果也可看出查詢到的用戶信息user_id也是從最大的開始顯示,然后是第二大。。。測試成功~
?
三、邏輯查詢
3.1 and
默認(rèn)查詢條件之間就是and,以前的測試用例中都展示過,這里就不在演示了。
3.2 or
注意事項(xiàng):
主動(dòng)調(diào)用or
表示緊接著下一個(gè)方法不是用and
連接!(不調(diào)用or
則默認(rèn)為使用and
連接)
- 例:?
eq("id",1).or().eq("name","老王")
--->id = 1 or name = '老王'
下面我們就編寫測試方法testOr()測試or的用法,我們來查詢用戶名為心態(tài)或者為李四的用戶信息,代碼如下:
//邏輯查詢
//or、and
@Test
public void testOr(){
QueryWrapper<User> wrapper=new QueryWrapper<>();
//查詢用戶名為心態(tài)或者為李四的用戶信息
wrapper.eq("user_name","心態(tài)")
.or()//或者
.eq("user_name","李四");
List<User> users = userMapper.selectList(wrapper);
for (User user : users) {
System.out.println(user);
}
}
執(zhí)行上述代碼,效果圖如下。
可看到生成的sql中條件之間是以or連接的。執(zhí)行出來兩條用戶信息,分別是李四的用戶信息和心態(tài)的用戶信息。說明測試成功~?
?
四、指定字段字段
這里說的就是select的用法
- 例:?
select("id", "name", "age")
編寫測試方法testSelect(),我們查詢用戶名為心態(tài)信息,只顯示用戶名、郵箱。測試代碼如下:
//指定字段查詢
//select
@Test
public void testSelect(){
QueryWrapper<User> wrapper=new QueryWrapper<>();
//查詢用戶名為心態(tài)信息,只顯示用戶名、郵箱
wrapper.eq("user_name","心態(tài)")
//只查詢用戶名、郵箱字段
.select("user_name","user_email");
List<User> users = userMapper.selectList(wrapper);
for (User user : users) {
System.out.println(user);
}
}
執(zhí)行效果圖如下:
可看到生成的sql代碼查詢的字段不是默認(rèn)的全字段了,而是上述指定的用戶名和郵箱字段。查詢出的結(jié)果也是有這兩個(gè)字段有值,其他的都是null。
?
?
總結(jié)
常用的條件構(gòu)造器已經(jīng)展示完了,還有一些不常用的大家如果想看可打開MP官網(wǎng),在左邊欄的條件構(gòu)造器中查找要用的即可。但基本上我們大多數(shù)MP的用法也就這些,即可滿足開發(fā)中大部分的需求。還有就是要寫的sql難時(shí),也可用MyBatis的方法在xml里寫sql用自定義的方法。反正實(shí)現(xiàn)方法有很多,能用自帶的就是比較方便快捷一些~文章來源地址http://www.zghlxwxcb.cn/news/detail-462020.html
到了這里,關(guān)于MyBatis-Plus條件構(gòu)造器[常用的模糊查詢、排序查詢、邏輯查詢和指定字段查詢案例]的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!