(5)Mybatis-plus-DQL

本文介绍了如何在Springboot项目中使用Mybatis-plus进行条件查询,包括基本查询、Lambda查询、处理null值的情况、查询投影以及映射匹配的兼容性问题,详细解释了各种查询方式和解决字段不匹配的方法。

一、照之前的步骤新建一个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;
}

目录

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

二、条件查询 

 1、条件查询

2、lambda条件查询

3、lambda条件查询2.0

 三、条件查询-null值处理

1、首先建立一个包,里面新建UserQuery类

2、在测试类

 四、查询投影(查询结果只显示某些字段的数据)

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

 六、映射匹配兼容性

1、当数据库中的表中的字段与程序中类的名称不对等时


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

这个人是谁呀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值