public class TenantLineInnerInterceptor extends JsqlParserSupport implements InnerInterceptor
logger| 构造器和说明 |
|---|
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) 操作前置处理
改改sql啥的 |
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) 操作前置处理
改改sql啥的 |
protected net.sf.jsqlparser.expression.Expression |
builderExpression(net.sf.jsqlparser.expression.Expression currentExpression,
net.sf.jsqlparser.schema.Table table)
处理条件
|
protected void |
doExpression(net.sf.jsqlparser.expression.Expression expression) |
protected net.sf.jsqlparser.schema.Column |
getAliasColumn(net.sf.jsqlparser.schema.Table table)
租户字段别名设置
tenantId 或 tableAlias.tenantId
|
protected void |
processDelete(net.sf.jsqlparser.statement.delete.Delete delete,
int index,
java.lang.Object obj)
delete 语句处理
|
protected void |
processFromItem(net.sf.jsqlparser.statement.select.FromItem fromItem)
处理子查询等
|
protected void |
processInsert(net.sf.jsqlparser.statement.insert.Insert insert,
int index,
java.lang.Object obj)
新增
|
protected void |
processInsertSelect(net.sf.jsqlparser.statement.select.SelectBody selectBody)
处理 insert into select
进入这里表示需要 insert 的表启用了多租户,则 select 的表都启动了
|
protected void |
processJoin(net.sf.jsqlparser.statement.select.Join join)
处理联接语句
|
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.Object obj)
查询
|
protected void |
processSelectBody(net.sf.jsqlparser.statement.select.SelectBody selectBody) |
protected void |
processUpdate(net.sf.jsqlparser.statement.update.Update update,
int index,
java.lang.Object obj)
update 语句处理
|
void |
setProperties(java.util.Properties properties) |
parserMulti, parserSingle, processParserclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitbeforeUpdate, willDoQuery, willDoUpdatepublic 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
InnerInterceptorExecutor.query(MappedStatement, Object, RowBounds, ResultHandler, CacheKey, BoundSql) 操作前置处理
改改sql啥的
beforeQuery 在接口中 InnerInterceptorexecutor - Executor(可能是代理对象)ms - MappedStatementparameter - parameterrowBounds - rowBoundsresultHandler - resultHandlerboundSql - boundSqljava.sql.SQLExceptionpublic void beforePrepare(org.apache.ibatis.executor.statement.StatementHandler sh,
java.sql.Connection connection,
java.lang.Integer transactionTimeout)
InnerInterceptorStatementHandler.prepare(Connection, Integer) 操作前置处理
改改sql啥的
beforePrepare 在接口中 InnerInterceptorsh - StatementHandler(可能是代理对象)connection - ConnectiontransactionTimeout - transactionTimeoutprotected void processSelect(net.sf.jsqlparser.statement.select.Select select,
int index,
java.lang.Object obj)
JsqlParserSupportprocessSelect 在类中 JsqlParserSupportprotected void processSelectBody(net.sf.jsqlparser.statement.select.SelectBody selectBody)
protected void processInsert(net.sf.jsqlparser.statement.insert.Insert insert,
int index,
java.lang.Object obj)
JsqlParserSupportprocessInsert 在类中 JsqlParserSupportprotected void processUpdate(net.sf.jsqlparser.statement.update.Update update,
int index,
java.lang.Object obj)
processUpdate 在类中 JsqlParserSupportprotected void processDelete(net.sf.jsqlparser.statement.delete.Delete delete,
int index,
java.lang.Object obj)
processDelete 在类中 JsqlParserSupportprotected net.sf.jsqlparser.expression.BinaryExpression andExpression(net.sf.jsqlparser.schema.Table table,
net.sf.jsqlparser.expression.Expression where)
protected void processInsertSelect(net.sf.jsqlparser.statement.select.SelectBody selectBody)
进入这里表示需要 insert 的表启用了多租户,则 select 的表都启动了
selectBody - SelectBodyprotected void appendSelectItem(java.util.List<net.sf.jsqlparser.statement.select.SelectItem> selectItems)
selectItems - SelectItemprotected void processPlainSelect(net.sf.jsqlparser.statement.select.PlainSelect plainSelect)
protected void processFromItem(net.sf.jsqlparser.statement.select.FromItem fromItem)
protected void processJoin(net.sf.jsqlparser.statement.select.Join join)
protected net.sf.jsqlparser.expression.Expression builderExpression(net.sf.jsqlparser.expression.Expression currentExpression,
net.sf.jsqlparser.schema.Table table)
protected void doExpression(net.sf.jsqlparser.expression.Expression expression)
protected net.sf.jsqlparser.schema.Column getAliasColumn(net.sf.jsqlparser.schema.Table table)
tenantId 或 tableAlias.tenantId
table - 表对象public void setProperties(java.util.Properties properties)
setProperties 在接口中 InnerInterceptor