一、簡介
LambdaQueryWrapperOr是MyBatis-Plus中基於Lambda表達式的查詢構造器的一個類,它是LambdaQueryWrapper的擴展類,增加了or操作,並且可以鏈式調用。
二、使用方法
我們可以使用LambdaQueryWrapper和LambdaQueryWrapperOr快速構建MyBatis的查詢條件,其中LambdaQueryWrapper可以鏈式構造多個查詢條件,而LambdaQueryWrapperOr則可以使用or連接多個查詢條件,實現複雜的查詢邏輯。
下面是一個使用LambdaQueryWrapper和LambdaQueryWrapperOr實現複雜查詢邏輯的實例:
LambdaQueryWrapper<User> wrapper = Wrappers.
lambdaQuery(User.class); wrapper.like(User::getName, "test").or(w -> w.like(User::getEmail, "test").gt(User::getAge, 18)); List<User> userList = userMapper.selectList(wrapper);
上面的代碼中,我們使用LambdaQueryWrapper構造了兩個查詢條件:第一個是查詢名字中包含”test”的用戶,第二個是查詢郵箱中包含”test”且年齡大於18歲的用戶,這兩個查詢條件使用or連接,意味著只要兩個條件中有一個滿足,就可以查詢出該用戶。
三、常用方法
1. or
用於將多個查詢條件使用or連接起來,就像上面的例子一樣。
Wrapper lambdaQueryWrapper = new LambdaQueryWrapper(); lambdaQueryWrapper.and(wrapper -> wrapper.eq(TUser::getAge, 18).or().eq(TUser::getName, "張三"));
2. eq
用於構造等於查詢條件,語法為:eq(column, value)。
Wrapper lambdaQueryWrapper = new LambdaQueryWrapper(); lambdaQueryWrapper.eq(TUser::getUserId, 1);
3. ne
用於構造不等於查詢條件,語法為:ne(column, value)。
Wrapper lambdaQueryWrapper = new LambdaQueryWrapper(); lambdaQueryWrapper.ne(TUser::getUserId, 1);
4. gt
用於構造大於查詢條件,語法為:gt(column, value)。
Wrapper lambdaQueryWrapper = new LambdaQueryWrapper(); lambdaQueryWrapper.gt(TUser::getAge, 18);
5. ge
用於構造大於等於查詢條件,語法為:ge(column, value)。
Wrapper lambdaQueryWrapper = new LambdaQueryWrapper(); lambdaQueryWrapper.ge(TUser::getAge, 18);
6. lt
用於構造小於查詢條件,語法為:lt(column, value)。
Wrapper lambdaQueryWrapper = new LambdaQueryWrapper(); lambdaQueryWrapper.lt(TUser::getAge, 18);
7. le
用於構造小於等於查詢條件,語法為:le(column, value)。
Wrapper lambdaQueryWrapper = new LambdaQueryWrapper(); lambdaQueryWrapper.le(TUser::getAge, 18);
8. like
用於構造模糊查詢條件,語法為:like(column, value)。
Wrapper lambdaQueryWrapper = new LambdaQueryWrapper(); lambdaQueryWrapper.like(TUser::getName, "張三");
9. notLike
用於構造非模糊查詢條件,語法為:notLike(column, value)。
Wrapper lambdaQueryWrapper = new LambdaQueryWrapper(); lambdaQueryWrapper.notLike(TUser::getName, "張三");
四、總結
LambdaQueryWrapperOr是MyBatis-Plus中基於Lambda表達式的查詢構造器的一個擴展類,使用它可以快速構建MyBatis的查詢條件,並且支持鏈式調用和or操作,實現複雜的查詢邏輯。通過本文的介紹,相信大家對LambdaQueryWrapperOr有了更深入的了解和掌握。
原創文章,作者:KCONS,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/371780.html