Mybatis trim标签理解


当上述语句没有条件匹配的时候查询语句就变成了

select * from blog where ;

或者当第二个语句匹配的时候就变成了

select * from bolg where and title like ?;

自然产生了错误 ,那么trim标签就是来解决这样的错误的


上述语句的作用

  • 当语句开头有and或or时自动去掉。
  • 当有条件匹配到时则在最前方加上prifix中的字符, 例如此处的 where。
public class TrimSqlNode implements SqlNode {

  private final SqlNode contents;
  private final String prefix;
  private final String suffix;
  private final List prefixesToOverride;
  private final List suffixesToOverride;
  private final Configuration configuration;

由mybatis的源码可以看到 prefix和suffix是一个String字符串,prefixesToOverride和suffixesToOverride是一个List 列表 对列表中所有字符串进行替换

你可能感兴趣的:(Mybatis trim标签理解)