Java开发学习(四十四)----MyBatisPlus查询语句:查询条件
1、查询条件
前面我们只使用了lt()和gt(),除了这两个方法外,MybatisPlus还封装了很多条件对应的方法。
MybatisPlus的查询条件有很多:
-
范围匹配(> 、 = 、between)
-
模糊匹配(like)
-
空判定(null)
-
包含性匹配(in)
-
分组(group)
-
排序(order)
-
……
1.1 等值查询
需求:根据用户名和密码查询用户信息
-
-
class Mybatisplus02DqlApplicationTests {
-
-
-
private UserDao userDao;
-
-
-
void testGetAll(){
-
LambdaQueryWrapper<User> lqw = new LambdaQueryWrapper<User>();
-
lqw.eq(User::getName, "Jerry").eq(User::getPassword, "jerry");
-
User loginUser = userDao.selectOne(lqw);
-
System.out.println(loginUser);
-
}
-
}
-
eq(): 相当于
=
,对应的sql语句为SELECT id,name,password,age,tel FROM user WHERE (name = ? AND password = ?)
-
selectList:查询结果为多个或者单个
-
selectOne:查询结果为单个
1.2 范围查询
需求:对年龄进行范围查询,使用lt()、le()、gt()、ge()、between()进行范围查询
-
-
class Mybatisplus02DqlApplicationTests {
-
-
-
private UserDao userDao;
-
-
-
void testGetAll(){
-
LambdaQueryWrapper<User> lqw = new LambdaQueryWrapper<User>();
-
lqw.between(User::getAge, 10, 30);
-
//SELECT id,name,password,age,tel FROM user WHERE (age BETWEEN ? AND ?)
-
List<User> userList = userDao.selectList(lqw);
-
System.out.println(userList);
-
}
-
}
-
gt():大于(>)
-
ge():大于等于(>=)
-
lt():小于(<)
-
lte():小于等于(<=)
-
between():between ? and ?
1.3 模糊查询
需求:查询表中name属性的值以
J
开头的用户信息,使用like进行模糊查询
-
-
class Mybatisplus02DqlApplicationTests {
-
-
-
private UserDao userDao;
-
-
-
void testGetAll(){
-
LambdaQueryWrapper<User> lqw = new LambdaQueryWrapper<User>();
-
lqw.likeLeft(User::getName, "J");
-
//SELECT id,name,password,age,tel FROM user WHERE (name LIKE ?)
-
List<User> userList = userDao.selectList(lqw);
-
System.out.println(userList);
-
}
-
}
-
like():前后加百分号,如 %J%
-
likeLeft():前面加百分号,如 %J
-
likeRight():后面加百分号,如 J%
1.4 排序查询
需求:查询所有数据,然后按照id降序
-
-
class Mybatisplus02DqlApplicationTests {
-
-
-
private UserDao userDao;
-
-
-
void testGetAll(){
-
LambdaQueryWrapper<User> lwq = new LambdaQueryWrapper<>();
-
/**
-
* condition :条件,返回boolean,
-
当condition为true,进行排序,如果为false,则不排序
-
* isAsc:是否为升序,true为升序,false为降序
-
* columns:需要操作的列
-
*/
-
lwq.orderBy(true,false, User::getId);
-
-
userDao.selectList(lw
-
}
-
}
除了上面演示的这种实现方式,还有很多其他的排序方法可以被调用,如图:
-
orderBy排序
-
condition:条件,true则添加排序,false则不添加排序
-
isAsc:是否为升序,true升序,false降序
-
columns:排序字段,可以有多个
-
-
orderByAsc/Desc(单个column):按照指定字段进行升序/降序
-
orderByAsc/Desc(多个column):按照多个字段进行升序/降序
-
orderByAsc/Desc
-
condition:条件,true添加排序,false不添加排序
-
多个columns:按照多个字段进行排序
-
除了上面介绍的这几种查询条件构建方法以外还会有很多其他的方法,比如isNull,isNotNull,in,notIn等等方法可供选择,具体参考官方文档的条件构造器来学习使用.
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhfjiijf
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
photoshop蒙版画笔没反应怎么办
PHP中文网 06-24