溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MybatisPlus?QueryWrapper常用方法有哪些

發布時間:2022-04-15 10:15:02 來源:億速云 閱讀:353 作者:zzz 欄目:開發技術

MybatisPlus QueryWrapper常用方法有哪些

MyBatis-Plus 是 MyBatis 的增強工具,提供了許多便捷的功能來簡化數據庫操作。其中,QueryWrapper 是一個非常常用的類,用于構建查詢條件。本文將介紹 QueryWrapper 的常用方法,幫助你更好地使用 MyBatis-Plus 進行數據庫查詢。

1. 基本查詢方法

1.1 eq 方法

eq 方法用于構建等于條件。

QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("name", "張三");
List<User> userList = userMapper.selectList(queryWrapper);

上述代碼會生成如下 SQL 語句:

SELECT * FROM user WHERE name = '張三';

1.2 ne 方法

ne 方法用于構建不等于條件。

QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.ne("name", "張三");
List<User> userList = userMapper.selectList(queryWrapper);

生成的 SQL 語句:

SELECT * FROM user WHERE name <> '張三';

1.3 gt 方法

gt 方法用于構建大于條件。

QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.gt("age", 18);
List<User> userList = userMapper.selectList(queryWrapper);

生成的 SQL 語句:

SELECT * FROM user WHERE age > 18;

1.4 ge 方法

ge 方法用于構建大于等于條件。

QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.ge("age", 18);
List<User> userList = userMapper.selectList(queryWrapper);

生成的 SQL 語句:

SELECT * FROM user WHERE age >= 18;

1.5 lt 方法

lt 方法用于構建小于條件。

QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.lt("age", 30);
List<User> userList = userMapper.selectList(queryWrapper);

生成的 SQL 語句:

SELECT * FROM user WHERE age < 30;

1.6 le 方法

le 方法用于構建小于等于條件。

QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.le("age", 30);
List<User> userList = userMapper.selectList(queryWrapper);

生成的 SQL 語句:

SELECT * FROM user WHERE age <= 30;

2. 模糊查詢方法

2.1 like 方法

like 方法用于構建模糊查詢條件。

QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.like("name", "張");
List<User> userList = userMapper.selectList(queryWrapper);

生成的 SQL 語句:

SELECT * FROM user WHERE name LIKE '%張%';

2.2 likeLeft 方法

likeLeft 方法用于構建左模糊查詢條件。

QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.likeLeft("name", "張");
List<User> userList = userMapper.selectList(queryWrapper);

生成的 SQL 語句:

SELECT * FROM user WHERE name LIKE '%張';

2.3 likeRight 方法

likeRight 方法用于構建右模糊查詢條件。

QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.likeRight("name", "張");
List<User> userList = userMapper.selectList(queryWrapper);

生成的 SQL 語句:

SELECT * FROM user WHERE name LIKE '張%';

3. 范圍查詢方法

3.1 between 方法

between 方法用于構建范圍查詢條件。

QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.between("age", 18, 30);
List<User> userList = userMapper.selectList(queryWrapper);

生成的 SQL 語句:

SELECT * FROM user WHERE age BETWEEN 18 AND 30;

3.2 notBetween 方法

notBetween 方法用于構建不在某個范圍內的查詢條件。

QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.notBetween("age", 18, 30);
List<User> userList = userMapper.selectList(queryWrapper);

生成的 SQL 語句:

SELECT * FROM user WHERE age NOT BETWEEN 18 AND 30;

4. 排序方法

4.1 orderByAsc 方法

orderByAsc 方法用于構建升序排序條件。

QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.orderByAsc("age");
List<User> userList = userMapper.selectList(queryWrapper);

生成的 SQL 語句:

SELECT * FROM user ORDER BY age ASC;

4.2 orderByDesc 方法

orderByDesc 方法用于構建降序排序條件。

QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.orderByDesc("age");
List<User> userList = userMapper.selectList(queryWrapper);

生成的 SQL 語句:

SELECT * FROM user ORDER BY age DESC;

5. 分組方法

5.1 groupBy 方法

groupBy 方法用于構建分組條件。

QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.groupBy("age");
List<User> userList = userMapper.selectList(queryWrapper);

生成的 SQL 語句:

SELECT * FROM user GROUP BY age;

6. 其他常用方法

6.1 select 方法

select 方法用于指定查詢的字段。

QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.select("id", "name", "age");
List<User> userList = userMapper.selectList(queryWrapper);

生成的 SQL 語句:

SELECT id, name, age FROM user;

6.2 in 方法

in 方法用于構建 IN 查詢條件。

QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.in("age", Arrays.asList(18, 20, 22));
List<User> userList = userMapper.selectList(queryWrapper);

生成的 SQL 語句:

SELECT * FROM user WHERE age IN (18, 20, 22);

6.3 notIn 方法

notIn 方法用于構建 NOT IN 查詢條件。

QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.notIn("age", Arrays.asList(18, 20, 22));
List<User> userList = userMapper.selectList(queryWrapper);

生成的 SQL 語句:

SELECT * FROM user WHERE age NOT IN (18, 20, 22);

6.4 isNull 方法

isNull 方法用于構建 IS NULL 查詢條件。

QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.isNull("name");
List<User> userList = userMapper.selectList(queryWrapper);

生成的 SQL 語句:

SELECT * FROM user WHERE name IS NULL;

6.5 isNotNull 方法

isNotNull 方法用于構建 IS NOT NULL 查詢條件。

QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.isNotNull("name");
List<User> userList = userMapper.selectList(queryWrapper);

生成的 SQL 語句:

SELECT * FROM user WHERE name IS NOT NULL;

7. 組合條件

7.1 and 方法

and 方法用于構建 AND 條件。

QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("name", "張三").and(wrapper -> wrapper.gt("age", 18).lt("age", 30));
List<User> userList = userMapper.selectList(queryWrapper);

生成的 SQL 語句:

SELECT * FROM user WHERE name = '張三' AND (age > 18 AND age < 30);

7.2 or 方法

or 方法用于構建 OR 條件。

QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("name", "張三").or().eq("name", "李四");
List<User> userList = userMapper.selectList(queryWrapper);

生成的 SQL 語句:

SELECT * FROM user WHERE name = '張三' OR name = '李四';

8. 總結

QueryWrapper 提供了豐富的查詢方法,能夠滿足大多數數據庫查詢需求。通過靈活組合這些方法,可以輕松構建復雜的查詢條件。掌握這些常用方法,將大大提高你在使用 MyBatis-Plus 進行數據庫操作時的效率。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女