类 TenantLineInnerInterceptor

所有已实现的接口:
InnerInterceptor

public class TenantLineInnerInterceptor extends BaseMultiTableInnerInterceptor implements InnerInterceptor
从以下版本开始:
3.4.0
作者:
hubin
  • 构造器详细资料

    • TenantLineInnerInterceptor

      public TenantLineInnerInterceptor()
    • TenantLineInnerInterceptor

      public TenantLineInnerInterceptor(TenantLineHandler tenantLineHandler)
  • 方法详细资料

    • beforeQuery

      public void beforeQuery(org.apache.ibatis.executor.Executor executor, org.apache.ibatis.mapping.MappedStatement ms, Object parameter, org.apache.ibatis.session.RowBounds rowBounds, org.apache.ibatis.session.ResultHandler resultHandler, org.apache.ibatis.mapping.BoundSql boundSql) throws SQLException
      从接口复制的说明: InnerInterceptor
      Executor.query(MappedStatement, Object, RowBounds, ResultHandler, CacheKey, BoundSql) 操作前置处理

      改改sql啥的

      指定者:
      beforeQuery 在接口中 InnerInterceptor
      参数:
      executor - Executor(可能是代理对象)
      ms - MappedStatement
      parameter - parameter
      rowBounds - rowBounds
      resultHandler - resultHandler
      boundSql - boundSql
      抛出:
      SQLException
    • beforePrepare

      public void beforePrepare(org.apache.ibatis.executor.statement.StatementHandler sh, Connection connection, Integer transactionTimeout)
      从接口复制的说明: InnerInterceptor
      StatementHandler.prepare(Connection, Integer) 操作前置处理

      改改sql啥的

      指定者:
      beforePrepare 在接口中 InnerInterceptor
      参数:
      sh - StatementHandler(可能是代理对象)
      connection - Connection
      transactionTimeout - transactionTimeout
    • processSelect

      protected void processSelect(net.sf.jsqlparser.statement.select.Select select, int index, String sql, Object obj)
      从类复制的说明: JsqlParserSupport
      查询
      覆盖:
      processSelect 在类中 JsqlParserSupport
    • processInsert

      protected void processInsert(net.sf.jsqlparser.statement.insert.Insert insert, int index, String sql, Object obj)
      从类复制的说明: JsqlParserSupport
      新增
      覆盖:
      processInsert 在类中 JsqlParserSupport
    • processUpdate

      protected void processUpdate(net.sf.jsqlparser.statement.update.Update update, int index, String sql, Object obj)
      update 语句处理
      覆盖:
      processUpdate 在类中 JsqlParserSupport
    • processDelete

      protected void processDelete(net.sf.jsqlparser.statement.delete.Delete delete, int index, String sql, Object obj)
      delete 语句处理
      覆盖:
      processDelete 在类中 JsqlParserSupport
    • processInsertSelect

      protected void processInsertSelect(net.sf.jsqlparser.statement.select.Select selectBody, String whereSegment)
      处理 insert into select

      进入这里表示需要 insert 的表启用了多租户,则 select 的表都启动了

      参数:
      selectBody - SelectBody
    • appendSelectItem

      protected void appendSelectItem(List<net.sf.jsqlparser.statement.select.SelectItem<?>> selectItems)
      追加 SelectItem
      参数:
      selectItems - SelectItem
    • getAliasColumn

      protected net.sf.jsqlparser.schema.Column getAliasColumn(net.sf.jsqlparser.schema.Table table)
      租户字段别名设置

      tenantId 或 tableAlias.tenantId

      参数:
      table - 表对象
      返回:
      字段
    • setProperties

      public void setProperties(Properties properties)
      指定者:
      setProperties 在接口中 InnerInterceptor
    • buildTableExpression

      public net.sf.jsqlparser.expression.Expression buildTableExpression(net.sf.jsqlparser.schema.Table table, net.sf.jsqlparser.expression.Expression where, String whereSegment)
      构建租户条件表达式
      指定者:
      buildTableExpression 在类中 BaseMultiTableInnerInterceptor
      参数:
      table - 表对象
      where - 当前where条件
      whereSegment - 所属Mapper对象全路径(在原租户拦截器功能中,这个参数并不需要参与相关判断)
      返回:
      租户条件表达式
      另请参阅:
    • getTenantLineHandler

      public TenantLineHandler getTenantLineHandler()
    • setTenantLineHandler

      public void setTenantLineHandler(TenantLineHandler tenantLineHandler)
    • toString

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

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

      protected boolean canEqual(Object other)
      覆盖:
      canEqual 在类中 BaseMultiTableInnerInterceptor
    • hashCode

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