mybatisPlus-wrapper條件構造器
阿新 • • 發佈:2022-04-01
1 在測試包下編寫一個新測試類WrapperTest.java
src/test/java/com/lv/mybatis_plus/WrapperTest.java
package com.lv.mybatis_plus; import com.lv.mybatis_plus.mapper.UserMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; @SpringBootTest public class WrapperTest { @Autowired private UserMapper userMapper; }
2 多條件查詢
src/test/java/com/lv/mybatis_plus/WrapperTest.java
@Test void test1() { //查詢name不為空,郵箱不為空的,並且年齡大於等於12的使用者 QueryWrapper<User> wrapper = new QueryWrapper<>(); wrapper .isNotNull("name") .isNotNull("email") .ge("age",12); userMapper.selectList(wrapper).forEach(System.out::println); //和我們剛才學習的map對比一下 }
執行測試檢視控制檯生成的sql
3 條件查詢
src/test/java/com/lv/mybatis_plus/WrapperTest.java
@Test void test2(){ //查詢名字是可樂 QueryWrapper<User> wrapper = new QueryWrapper<>(); wrapper.eq("name","Tom"); User user = userMapper.selectOne(wrapper); //查詢一個數據,出現多個結果使用List 或者 Map System.out.println(user); }
執行,檢視控制檯生成的sql
4 區間條件查詢
src/test/java/com/lv/mybatis_plus/WrapperTest.java
@Test
void test3(){
//查詢年齡在 22 ~ 25 歲 之間的使用者
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.between("age",20,25); //區間
Integer count = userMapper.selectCount(wrapper);//查詢結果數
System.out.println(count);
}
執行,檢視控制檯生成的sql
5 模糊查詢
src/test/java/com/lv/mybatis_plus/WrapperTest.java
@Test
void test4(){
//名字裡面不包含a的使用者
QueryWrapper<User> wrapper = new QueryWrapper<>();
// likeRight右邊加%,likeLeft左邊加%
wrapper
.notLike("name","a")
.likeRight("email","t");
List<Map<String, Object>> maps = userMapper.selectMaps(wrapper);
maps.forEach(System.out::println);
}
執行,檢視控制檯生成的sql
6 拼接子查詢sql
src/test/java/com/lv/mybatis_plus/WrapperTest.java
@Test
void test5(){
QueryWrapper<User> wrapper = new QueryWrapper<>();
//id 在子查詢中查出來
wrapper.inSql("id","select id from user where id<3");
List<Object> objects = userMapper.selectObjs(wrapper);
objects.forEach(System.out::println);
}
執行,檢視控制檯生成的sql
7 排序查詢
src/test/java/com/lv/mybatis_plus/WrapperTest.java
@Test
void test6(){
QueryWrapper<User> wrapper = new QueryWrapper<>();
//通過id進行降序排序
wrapper.orderByDesc("id");
List<User> users = userMapper.selectList(wrapper);
users.forEach(System.out::println);
}
執行,檢視控制檯生成的sql
其它的查詢方式可以參照官方文件: 條件構造器 | MyBatis-Plus (baomidou.com)