MybatisPlus 查询条件为空字符串或null问题

当用mybatis-plus生成的mapper进行内置的方法进行查询时,由于外部传输过来的值可能时空值或者为null

我们就不想使用这个空的查询条件,就需要进行值得判断,其实mybatis-plus生成得语句已经带有这个功能,我们只需要编写判断得工具类即可

判断工具类

/**
 * 判断字符串是否为空和null
 * @param obj
 * @return
 */
public static boolean strIsNull(String obj){
    if (obj != null && !"".equals(obj)){
        return true;
    }
    return false;
}

使用位置

public PageInfo<Home> getPage(Home home, Integer pageNum, Integer pageSize) {
    QueryWrapper<Home> queryWrapper = new QueryWrapper<>();
    //当工具类判断的字符串为空或者为null时输出为false,此条件将不会添加到查询条件中
    queryWrapper.like(HouseUtil.strIsNull(home.getContact()),"contact", home.getContact());
    queryWrapper.eq(HouseUtil.strIsNull(home.getCartype()),"cartype", home.getCartype());
    PageHelper.startPage(pageNum, pageSize);
    List<Home> homeList = homeMapper.selectList(queryWrapper);
    PageInfo<Home> pageInfo = new PageInfo<>(homeList);
    return pageInfo;
}

语句说明

eq( boolean condition, R column, object val )

condition是一个布尔值,当condition为false时,当前这个条件方法不会生效,即生成的sql不会拼接这个条件;所以在这个参数里判断查询参数是否为空即可。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值