类 TenantLineInnerInterceptor

    • 方法概要

      所有方法 实例方法 具体方法 
      修饰符和类型 方法 说明
      protected net.sf.jsqlparser.expression.BinaryExpression andExpression​(net.sf.jsqlparser.schema.Table table, net.sf.jsqlparser.expression.Expression where)
      delete update 语句 where 处理
      protected void appendSelectItem​(java.util.List<net.sf.jsqlparser.statement.select.SelectItem> selectItems)
      追加 SelectItem
      void beforePrepare​(org.apache.ibatis.executor.statement.StatementHandler sh, java.sql.Connection connection, java.lang.Integer transactionTimeout)
      StatementHandler.prepare(Connection, Integer) 操作前置处理
      void beforeQuery​(org.apache.ibatis.executor.Executor executor, org.apache.ibatis.mapping.MappedStatement ms, java.lang.Object parameter, org.apache.ibatis.session.RowBounds rowBounds, org.apache.ibatis.session.ResultHandler resultHandler, org.apache.ibatis.mapping.BoundSql boundSql)
      Executor.query(MappedStatement, Object, RowBounds, ResultHandler, CacheKey, BoundSql) 操作前置处理
      protected net.sf.jsqlparser.expression.Expression builderExpression​(net.sf.jsqlparser.expression.Expression currentExpression, java.util.List<net.sf.jsqlparser.schema.Table> tables)
      处理条件
      protected boolean canEqual​(java.lang.Object other)  
      boolean equals​(java.lang.Object o)  
      protected net.sf.jsqlparser.schema.Column getAliasColumn​(net.sf.jsqlparser.schema.Table table)
      租户字段别名设置
      TenantLineHandler getTenantLineHandler()  
      int hashCode()  
      protected void processDelete​(net.sf.jsqlparser.statement.delete.Delete delete, int index, java.lang.String sql, java.lang.Object obj)
      delete 语句处理
      protected void processFunction​(net.sf.jsqlparser.expression.Function function)
      处理函数
      protected void processInsert​(net.sf.jsqlparser.statement.insert.Insert insert, int index, java.lang.String sql, java.lang.Object obj)
      新增
      protected void processInsertSelect​(net.sf.jsqlparser.statement.select.SelectBody selectBody)
      处理 insert into select
      protected void processOtherFromItem​(net.sf.jsqlparser.statement.select.FromItem fromItem)
      处理子查询等
      protected void processPlainSelect​(net.sf.jsqlparser.statement.select.PlainSelect plainSelect)
      处理 PlainSelect
      protected void processSelect​(net.sf.jsqlparser.statement.select.Select select, int index, java.lang.String sql, java.lang.Object obj)
      查询
      protected void processSelectBody​(net.sf.jsqlparser.statement.select.SelectBody selectBody)  
      protected void processSelectItem​(net.sf.jsqlparser.statement.select.SelectItem selectItem)  
      protected void processUpdate​(net.sf.jsqlparser.statement.update.Update update, int index, java.lang.String sql, java.lang.Object obj)
      update 语句处理
      protected void processWhereSubSelect​(net.sf.jsqlparser.expression.Expression where)
      处理where条件内的子查询
      void setProperties​(java.util.Properties properties)  
      void setTenantLineHandler​(TenantLineHandler tenantLineHandler)  
      java.lang.String toString()  
      • 从类继承的方法 java.lang.Object

        clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    • 构造器详细资料

      • TenantLineInnerInterceptor

        public TenantLineInnerInterceptor()
      • TenantLineInnerInterceptor

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

      • beforeQuery

        public void beforeQuery​(org.apache.ibatis.executor.Executor executor,
                                org.apache.ibatis.mapping.MappedStatement ms,
                                java.lang.Object parameter,
                                org.apache.ibatis.session.RowBounds rowBounds,
                                org.apache.ibatis.session.ResultHandler resultHandler,
                                org.apache.ibatis.mapping.BoundSql boundSql)
                         throws java.sql.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
        抛出:
        java.sql.SQLException
      • beforePrepare

        public void beforePrepare​(org.apache.ibatis.executor.statement.StatementHandler sh,
                                  java.sql.Connection connection,
                                  java.lang.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,
                                     java.lang.String sql,
                                     java.lang.Object obj)
        从类复制的说明: JsqlParserSupport
        查询
        覆盖:
        processSelect 在类中 JsqlParserSupport
      • processSelectBody

        protected void processSelectBody​(net.sf.jsqlparser.statement.select.SelectBody selectBody)
      • processInsert

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

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

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

        protected net.sf.jsqlparser.expression.BinaryExpression andExpression​(net.sf.jsqlparser.schema.Table table,
                                                                              net.sf.jsqlparser.expression.Expression where)
        delete update 语句 where 处理
      • processInsertSelect

        protected void processInsertSelect​(net.sf.jsqlparser.statement.select.SelectBody selectBody)
        处理 insert into select

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

        参数:
        selectBody - SelectBody
      • appendSelectItem

        protected void appendSelectItem​(java.util.List<net.sf.jsqlparser.statement.select.SelectItem> selectItems)
        追加 SelectItem
        参数:
        selectItems - SelectItem
      • processPlainSelect

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

        protected void processWhereSubSelect​(net.sf.jsqlparser.expression.Expression where)
        处理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)
      • processFunction

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

        支持: 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)
        处理子查询等
      • builderExpression

        protected net.sf.jsqlparser.expression.Expression builderExpression​(net.sf.jsqlparser.expression.Expression currentExpression,
                                                                            java.util.List<net.sf.jsqlparser.schema.Table> tables)
        处理条件
      • getAliasColumn

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

        tenantId 或 tableAlias.tenantId

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

        public void setTenantLineHandler​(TenantLineHandler tenantLineHandler)
      • toString

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

        public boolean equals​(java.lang.Object o)
        覆盖:
        equals 在类中 java.lang.Object
      • canEqual

        protected boolean canEqual​(java.lang.Object other)
      • hashCode

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