public class TenantLineInnerInterceptor extends BaseMultiTableInnerInterceptor implements InnerInterceptor
logger| 构造器和说明 |
|---|
TenantLineInnerInterceptor() |
TenantLineInnerInterceptor(TenantLineHandler tenantLineHandler) |
| 限定符和类型 | 方法和说明 |
|---|---|
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啥的 |
net.sf.jsqlparser.expression.Expression |
buildTableExpression(net.sf.jsqlparser.schema.Table table,
net.sf.jsqlparser.expression.Expression where,
java.lang.String whereSegment)
构建租户条件表达式
|
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)
租户字段别名设置
tenantId 或 tableAlias.tenantId
|
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 |
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,
java.lang.String whereSegment)
处理 insert into select
进入这里表示需要 insert 的表启用了多租户,则 select 的表都启动了
|
protected void |
processSelect(net.sf.jsqlparser.statement.select.Select select,
int index,
java.lang.String sql,
java.lang.Object obj)
查询
|
protected void |
processUpdate(net.sf.jsqlparser.statement.update.Update update,
int index,
java.lang.String sql,
java.lang.Object obj)
update 语句处理
|
void |
setProperties(java.util.Properties properties) |
void |
setTenantLineHandler(TenantLineHandler tenantLineHandler) |
java.lang.String |
toString() |
andExpression, builderExpression, processFunction, processOtherFromItem, processPlainSelect, processSelectBody, processSelectItem, processWhereSubSelectparserMulti, parserSingle, processParserbeforeGetBoundSql, beforeUpdate, willDoQuery, willDoUpdatepublic TenantLineInnerInterceptor()
public TenantLineInnerInterceptor(TenantLineHandler tenantLineHandler)
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
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.String sql,
java.lang.Object obj)
JsqlParserSupportprocessSelect 在类中 JsqlParserSupportprotected void processInsert(net.sf.jsqlparser.statement.insert.Insert insert,
int index,
java.lang.String sql,
java.lang.Object obj)
JsqlParserSupportprocessInsert 在类中 JsqlParserSupportprotected void processUpdate(net.sf.jsqlparser.statement.update.Update update,
int index,
java.lang.String sql,
java.lang.Object obj)
processUpdate 在类中 JsqlParserSupportprotected void processDelete(net.sf.jsqlparser.statement.delete.Delete delete,
int index,
java.lang.String sql,
java.lang.Object obj)
processDelete 在类中 JsqlParserSupportprotected void processInsertSelect(net.sf.jsqlparser.statement.select.SelectBody selectBody,
java.lang.String whereSegment)
进入这里表示需要 insert 的表启用了多租户,则 select 的表都启动了
selectBody - SelectBodyprotected void appendSelectItem(java.util.List<net.sf.jsqlparser.statement.select.SelectItem> selectItems)
selectItems - SelectItemprotected net.sf.jsqlparser.schema.Column getAliasColumn(net.sf.jsqlparser.schema.Table table)
tenantId 或 tableAlias.tenantId
table - 表对象public void setProperties(java.util.Properties properties)
setProperties 在接口中 InnerInterceptorpublic net.sf.jsqlparser.expression.Expression buildTableExpression(net.sf.jsqlparser.schema.Table table,
net.sf.jsqlparser.expression.Expression where,
java.lang.String whereSegment)
buildTableExpression 在类中 BaseMultiTableInnerInterceptortable - 表对象where - 当前where条件whereSegment - 所属Mapper对象全路径(在原租户拦截器功能中,这个参数并不需要参与相关判断)BaseMultiTableInnerInterceptor.buildTableExpression(Table, Expression, String)public TenantLineHandler getTenantLineHandler()
public void setTenantLineHandler(TenantLineHandler tenantLineHandler)
public java.lang.String toString()
public boolean equals(java.lang.Object o)
equals 在类中 BaseMultiTableInnerInterceptorprotected boolean canEqual(java.lang.Object other)
public int hashCode()