Mybatis-Plus查询语句无故自动加条件

一、问题

今日写业务,分页查询使用 warpOPDefaultLike(xxxSearchDTO).build() 方法,在控制台打印出来的sql语句结尾莫名加上了 “where state=0” 的条件,这是xxxSearchDTO中的一个属性,前端传参为null,为什么sql语句查询时会赋值0呢?
经排查,发现是 xxxSearchDTO 对应的 xxxDAO 实体类的对应的那条的属性是这样的:private int state;问题就在这里,int 类型的默认值为0,此处应该采用 Integer ,封装类,Integer的默认值为 null ,改为Integer后QueryMapper要搜索的其值就不是0了而是null,即全查,而不是查0。
新手路上的又一次踩坑,学过,也记得,但是实战中就是想不到这点上去,因为知识点太基础了,越基础反而越容易被忽略。

总结

实体类的数据类型使用封装类,如 Integer 而非 int

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值