MybatisPlus 构造器QueryWrapper高级使用示例(空值赋值、空值不拼接sql、limit、函数)
一、MybatisPlus 构造器对空值进行赋值传参二、MybatisPlus 构造器空值不拼接sql字段传参为空时,不拼接该字段的sqlQueryWrapper<Rooms> queryWrapper = new QueryWrappequeryWrapper.eq("roomstatus",0).in("roomtype",arr).like(StringUtil.isNotEmp
·
一、MybatisPlus 构造器对空值进行赋值传参
ignored 不管有没有有设置属性,所有的字段都会设置到insert语句中,如果没设置值,全为null,这种在update 操作中会有风险,把有值的更新为null
not_null,也是默认策略,也就是忽略null的字段,不忽略""
not-empty 为null,为空串的忽略,就是如果设置值为null,“”,不会插入数据库
当“”时更新字段为“”,则配置@TableField(strategy = FieldStrategy.IGNORED)
@ApiModelProperty(value = "Agv编号(托架车位(托架号)/卡车车位(车牌号))")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private String agvId;
二、MybatisPlus 构造器空值不拼接sql
字段传参为空时,不拼接该字段的sql
QueryWrapper<Rooms> queryWrapper = new QueryWrappe
queryWrapper.eq("roomstatus",0)
.in("roomtype",arr)
.like(StringUtil.isNotEmpty(specials),"specials",specials)
.orderByDesc("good");
三、设置limit
通过last(),效果等同于limit
queryWrapper.last("limit 0,5");
四、查询条件中使用函数
例如,在查询IP时,想使用INET_ATON()函数,可以使用apply()实现
queryWrapper.apply("INET_ATON(qsip) <= INET_ATON({0})", ipQuery);
queryWrapper.apply("INET_ATON(zzip) >= INET_ATON({0})", ipQuery);
更多推荐
已为社区贡献1条内容
所有评论(0)