类 BaseMultiTableInnerInterceptor

java.lang.Object
com.baomidou.mybatisplus.extension.parser.JsqlParserSupport
com.baomidou.mybatisplus.extension.plugins.inner.BaseMultiTableInnerInterceptor
所有已实现的接口:
com.baomidou.mybatisplus.extension.plugins.inner.InnerInterceptor
直接已知子类:
DataPermissionInterceptor, TenantLineInnerInterceptor

public abstract class BaseMultiTableInnerInterceptor extends JsqlParserSupport implements com.baomidou.mybatisplus.extension.plugins.inner.InnerInterceptor
多表条件处理基对象,从原有的 TenantLineInnerInterceptor 拦截器中提取出来
从以下版本开始:
3.5.2
作者:
houkunlin
  • 字段概要

    从类继承的字段 com.baomidou.mybatisplus.extension.parser.JsqlParserSupport

    logger
  • 构造器概要

    构造器
    构造器
    说明
     
  • 方法概要

    修饰符和类型
    方法
    说明
    protected net.sf.jsqlparser.expression.Expression
    andExpression(net.sf.jsqlparser.schema.Table table, net.sf.jsqlparser.expression.Expression where, String whereSegment)
    delete update 语句 where 处理
    protected net.sf.jsqlparser.expression.Expression
    appendExpression(net.sf.jsqlparser.expression.Expression currentExpression, net.sf.jsqlparser.expression.Expression injectExpression)
    追加表达式,默认追加到后面,可以配置变量 expressionAppendMode 来控制追加到前面还是后面
    protected net.sf.jsqlparser.expression.Expression
    builderExpression(net.sf.jsqlparser.expression.Expression currentExpression, List<net.sf.jsqlparser.schema.Table> tables, String whereSegment)
    处理条件
    abstract net.sf.jsqlparser.expression.Expression
    buildTableExpression(net.sf.jsqlparser.schema.Table table, net.sf.jsqlparser.expression.Expression where, String whereSegment)
    构建数据库表的查询条件
    protected boolean
     
    boolean
     
    com.baomidou.mybatisplus.jsqlparser.enums.ExpressionAppendMode
    条件表达式追加模式 (默认放置最后,仅作用于update,delete,select)
    int
     
    protected void
    processFunction(net.sf.jsqlparser.expression.Function function, String whereSegment)
    处理函数
    protected void
    processOtherFromItem(net.sf.jsqlparser.statement.select.FromItem fromItem, String whereSegment)
    处理子查询等
    protected void
    processPlainSelect(net.sf.jsqlparser.statement.select.PlainSelect plainSelect, String whereSegment)
    处理 PlainSelect
    protected void
    processSelectBody(net.sf.jsqlparser.statement.select.Select selectBody, String whereSegment)
     
    protected void
    processSelectItem(net.sf.jsqlparser.statement.select.SelectItem selectItem, String whereSegment)
     
    protected void
    processWhereSubSelect(net.sf.jsqlparser.expression.Expression where, String whereSegment)
    处理where条件内的子查询
    void
    setExpressionAppendMode(com.baomidou.mybatisplus.jsqlparser.enums.ExpressionAppendMode expressionAppendMode)
    条件表达式追加模式 (默认放置最后,仅作用于update,delete,select)
     

    从类继承的方法 com.baomidou.mybatisplus.extension.parser.JsqlParserSupport

    parserMulti, parserSingle, processDelete, processInsert, processParser, processSelect, processUpdate

    从类继承的方法 java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait

    从接口继承的方法 com.baomidou.mybatisplus.extension.plugins.inner.InnerInterceptor

    beforeGetBoundSql, beforePrepare, beforeQuery, beforeUpdate, setProperties, willDoQuery, willDoUpdate
  • 构造器详细资料

    • BaseMultiTableInnerInterceptor

      public BaseMultiTableInnerInterceptor()
  • 方法详细资料

    • processSelectBody

      protected void processSelectBody(net.sf.jsqlparser.statement.select.Select selectBody, String whereSegment)
    • andExpression

      protected net.sf.jsqlparser.expression.Expression andExpression(net.sf.jsqlparser.schema.Table table, net.sf.jsqlparser.expression.Expression where, String whereSegment)
      delete update 语句 where 处理
    • processPlainSelect

      protected void processPlainSelect(net.sf.jsqlparser.statement.select.PlainSelect plainSelect, String whereSegment)
      处理 PlainSelect
    • processWhereSubSelect

      protected void processWhereSubSelect(net.sf.jsqlparser.expression.Expression where, String whereSegment)
      处理where条件内的子查询

      支持如下:

      1. in
      2. =
      3. >
      4. <
      5. >=
      6. <=
      7. <>
      8. EXISTS
      9. NOT EXISTS

      前提条件: 1. 子查询必须放在小括号中 2. 子查询一般放在比较操作符的右边

      参数:
      where - where 条件
    • processSelectItem

      protected void processSelectItem(net.sf.jsqlparser.statement.select.SelectItem selectItem, String whereSegment)
    • processFunction

      protected void processFunction(net.sf.jsqlparser.expression.Function function, String whereSegment)
      处理函数

      支持: 1. select fun(args..) 2. select fun1(fun2(args..),args..)

      fixed gitee pulls/141

      参数:
      function -
    • processOtherFromItem

      protected void processOtherFromItem(net.sf.jsqlparser.statement.select.FromItem fromItem, String whereSegment)
      处理子查询等
    • builderExpression

      protected net.sf.jsqlparser.expression.Expression builderExpression(net.sf.jsqlparser.expression.Expression currentExpression, List<net.sf.jsqlparser.schema.Table> tables, String whereSegment)
      处理条件
    • appendExpression

      protected net.sf.jsqlparser.expression.Expression appendExpression(net.sf.jsqlparser.expression.Expression currentExpression, net.sf.jsqlparser.expression.Expression injectExpression)
      追加表达式,默认追加到后面,可以配置变量 expressionAppendMode 来控制追加到前面还是后面
      参数:
      currentExpression - 原sql的条件表达式
      injectExpression - 注入的表达式
      返回:
      追加了条件的完整表达式(where条件 / on条件)
      从以下版本开始:
      3.5.11
    • buildTableExpression

      public abstract net.sf.jsqlparser.expression.Expression buildTableExpression(net.sf.jsqlparser.schema.Table table, net.sf.jsqlparser.expression.Expression where, String whereSegment)
      构建数据库表的查询条件
      参数:
      table - 表对象
      where - 当前where条件
      whereSegment - 所属Mapper对象全路径
      返回:
      需要拼接的新条件(不会覆盖原有的where条件,只会在原有条件上再加条件),为 null 则不加入新的条件
    • getExpressionAppendMode

      public com.baomidou.mybatisplus.jsqlparser.enums.ExpressionAppendMode getExpressionAppendMode()
      条件表达式追加模式 (默认放置最后,仅作用于update,delete,select)
      从以下版本开始:
      3.5.11
    • setExpressionAppendMode

      public void setExpressionAppendMode(com.baomidou.mybatisplus.jsqlparser.enums.ExpressionAppendMode expressionAppendMode)
      条件表达式追加模式 (默认放置最后,仅作用于update,delete,select)
      从以下版本开始:
      3.5.11
    • toString

      public String toString()
      覆盖:
      toString 在类中 Object
    • equals

      public boolean equals(Object o)
      覆盖:
      equals 在类中 Object
    • canEqual

      protected boolean canEqual(Object other)
    • hashCode

      public int hashCode()
      覆盖:
      hashCode 在类中 Object