mybatis-plus 使用遇到问题
条件组合查询过程中 由于条件的较多,or和and都有的情况下 由于括号问题导致查询结果错误问题,留个抓,防止下次再次出错
EntityWrapper<Entity> ew = new EntityWrapper<>();
ew.like("loginName", keyWord, SqlLike.RIGHT).or().like("userName", keyWord, SqlLike.RIGHT);
ew.eq("status", XZ_CLIENT_STATUS.IN_USE.getValue());
//开始时间为空 结束时间不为空 则 注册时间<=endTime
ew.le("createDate", endTime);
ew.orderBy("createDate", false);
AND (loginName LIKE #{ew.paramNameValuePairs.MPGENVAL1} OR userName LIKE #{ew.paramNameValuePairs.MPGENVAL2} AND createDate <= #{ew.paramNameValuePairs.MPGENVAL3})
ORDER BY createDate DESC
ew.andNew().like("loginName", keyWord, SqlLike.RIGHT).or().like("userName", keyWord, SqlLike.RIGHT);
ew.andNew().eq("status", XZ_CLIENT_STATUS.IN_USE.getValue());
//开始时间为空 结束时间不为空 则 注册时间<=endTime
ew.andNew().le("createDate", endTime);
ew.orderBy("createDate", false);
AND (loginName LIKE #{ew.paramNameValuePairs.MPGENVAL1} OR userName LIKE #{ew.paramNameValuePairs.MPGENVAL2})
AND (createDate <= #{ew.paramNameValuePairs.MPGENVAL3})
ORDER BY createDate DESC
当你需要给自己的条件添加组合顺序(不同的组合添加括号)注意两种sql语句的区别