一、照之前的步骤新建一个Springboot+MP工程
如下



二、条件查询
1、条件查询

@Test
void contextLoads() {
//条件查询
QueryWrapper wrapper=new QueryWrapper();
//所需条件
wrapper.lt("age",24);
List<User> userList=userDao.selectList(wrapper);
System.out.println(userList);
}
2、lambda条件查询

QueryWrapper<User> wrapper=new QueryWrapper<User>();
wrapper.lambda().lt(User::getAge,24);
List<User> userList=userDao.selectList(wrapper);
System.out.println(userList);
3、lambda条件查询2.0



三、条件查询-null值处理
1、首先建立一个包,里面新建UserQuery类

2、在测试类
模拟页面传过来的数据
连接条件
四、查询投影(查询结果只显示某些字段的数据)
//查询投影
LambdaQueryWrapper<User> lqw=new LambdaQueryWrapper<User>();
lqw.select(User::getAge,User::getEmail);//结果只显示age字段和email字段
List<User> userList=userDao.selectList(lqw);
System.out.println(userList);
QueryWrapper的写法
QueryWrapper<User> queryWrapper=new QueryWrapper<User>();
queryWrapper.select("age","email");
List<User> Lists=userDao.selectList(queryWrapper);
System.out.println(Lists);
查询总条数
QueryWrapper<User> queryWrapper=new QueryWrapper<User>();
queryWrapper.select("count(*) as count");
List<Map<String, Object> > userList=userDao.selectMaps(queryWrapper);
System.out.println(userList);

五、查询条件(sql语句学过的都会明白啥意思,只是需要记得程序咋写)
1、等于

2、范围查询

3、模糊查询


六、映射匹配兼容性
1、当数据库中的表中的字段与程序中类的名称不对等时

解决方法
public class User {
@TableField(value="pwd")
private String password;
}
2、“你有我没有”

解决办法
public class User {
@TableField(exist = false)
private Integer online;
}
value:设置数据库表字段名称
exist:设置属性在数据库表字段中是否存在,默认为true。此属性无法与value合并使用
3、采用默认查询开放了更多的字段查看权限
一般默认查询都是把全部字段查了出来
解决办法
public class User {
@TableField(value="pwd" ,select = false)
private string password;
}
value:设置数据库表字段名称
exist:设置属性在数据库表字段中是否存在,默认为true。此属性无法与value合并使用select:设置属性是否参与查询,此属性与select()映射配置不冲突
4、表面与类名冲突

解决办法
@TableName ( "tbl_user")
public class User {
private Long id;
}
目录
五、查询条件(sql语句学过的都会明白啥意思,只是需要记得程序咋写)
本文介绍了如何在Springboot项目中使用Mybatis-plus进行条件查询,包括基本查询、Lambda查询、处理null值的情况、查询投影以及映射匹配的兼容性问题,详细解释了各种查询方式和解决字段不匹配的方法。
Mybatis-plus-DQL&spm=1001.2101.3001.5002&articleId=125582659&d=1&t=3&u=e556a738cc334600bde9cd216669f91d)
526

被折叠的 条评论
为什么被折叠?



