mybatis-plus的${}
的and问题
${}
不需要where标签包裹
${} 需要where,在条件的开头会不会自动拼接and?在版本好像去掉了在开头拼接and(我看源码下来,没有看到有拼接and,如果在哪里有,请告知下,谢谢),所以就自己去拼接and了,简单继承了下。
/**
*
* <p>
* mybatis plus 3.10以后的版本 {@link AbstractWrapper#getSqlSegment()}不支持在sql开头自动添加and,所以需要自己添加and。
* 使用方式与原先基本一致,在sql中使用时使用${}获取sql语句
* </p>
*/
public class MyQueryWrapper extends QueryWrapper {
public String getSql() {
return WrapperUtil.concatAnd(this);
}
}
public class WrapperUtil {
public static String concatAnd(QueryWrapper queryWrapper) {
String sql = queryWrapper.isEmptyOfNormal() ? "" : "and " + queryWrapper.getSqlSegment();
return sql;
}
}