MybatisPlus入門(五)MybatisPlus條件查詢

努力--坚持發表於2024-11-24

一、MybatisPlus條件查詢
MyBatisPlus將書寫複雜的SQL查詢條件進行了封裝,使用程式設計的形式完成查詢條件的組合

方式一:按條件查詢

查詢年齡小於18的使用者,程式碼示例:

@SpringBootTest
class MybatisplusDqlApplicationTests {
 
    @Autowired
    private UserDao userDao;
 
    @Test
    void testGetAll() {
        //方式一:按條件查詢
        QueryWrapper qw = new QueryWrapper();
        qw.lt("age",18);
        List<User> userList = userDao.selectList(qw);
        System.out.println(userList);
    }
}


方式二:lambda格式按條件查詢

查詢年齡小於10的使用者,程式碼示例:

//方式二:lambda格式按條件查詢
QueryWrapper<User> qw = new QueryWrapper<User>();
qw.lambda().lt(User::getAge, 10);
List<User> userList = userDao.selectList(qw);
System.out.println(userList);


方式三:lambda格式按條件查詢(推薦)

查詢年齡小於10的使用者,程式碼示例:

//方式三:lambda格式按條件查詢
LambdaQueryWrapper<User> lqw = new LambdaQueryWrapper<User>();
lqw.lt(User::getAge, 10);
List<User> userList = userDao.selectList(lqw);
System.out.println(userList);


組合條件 並且關係(and)

查詢10到30歲之間的使用者,程式碼示例:

//並且關係
LambdaQueryWrapper<User> lqw = new LambdaQueryWrapper<User>();
//並且關係:10到30歲之間
lqw.lt(User::getAge, 30).gt(User::getAge, 10);
List<User> userList = userDao.selectList(lqw);
System.out.println(userList);


組合條件 或者關係(or)

查詢小於10歲或者大於30歲 的使用者,程式碼示例:

//或者關係
LambdaQueryWrapper<User> lqw = new LambdaQueryWrapper<User>();
//或者關係:小於10歲或者大於30歲
lqw.lt(User::getAge, 10).or().gt(User::getAge, 30);
List<User> userList = userDao.selectList(lqw);
System.out.println(userList);


格式一:常規格式

QueryWrapper<User> qw = new QueryWrapper<User>();
//查詢年齡大於等於18歲,小於65歲的使用者
qw.lt("age",65);
qw.ge("age",18);
List<User> userList = userDao.selectList(qw);
System.out.println(userList);


格式二:鏈式程式設計格式

QueryWrapper<User> qw = new QueryWrapper<User>();
//查詢年齡大於等於18歲,小於65歲的使用者
qw.lt("age",65).ge("age",18);
List<User> userList = userDao.selectList(qw);
System.out.println(userList);


格式三:lambda格式(推薦)

        QueryWrapper<User> qw = new QueryWrapper<User>();
        //查詢年齡大於等於18歲,小於65歲的使用者
        qw.lambda().lt(User::getAge, 65).ge(User::getAge, 18);
        List<User> userList = userDao.selectList(qw);
        System.out.println(userList);

格式四:lambda格式(推薦)

LambdaQueryWrapper<User> lqw = new LambdaQueryWrapper<User>();
//查詢年齡大於等於18歲,小於65歲的使用者
lqw.lt(User::getAge,65).ge(User::getAge,18);
List<User> userList = userDao.selectList(lqw);
System.out.println(userList);


二、使用MybatisPlus開發的一些配置
2.1取消初始化spring日誌列印
步驟:在resources下新建一個logback.xml檔案,名稱固定,內容如下:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
 
</configuration>


2.2取消SpringBoot啟動banner圖示
在application.xml配置如下內容:

spring:
  main:
    banner-mode: off # 關閉SpringBoot啟動圖示(banner)
    



2.3 取消MybatisPlus啟動banner圖示

在application.xml配置如下內容:

    # mybatis-plus日誌控制檯輸出
mybatis-plus:
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
  global-config:
    banner: off # 關閉mybatisplus啟動圖示

相關文章