@Deprecated public class FakeTenantLineInnerInterceptor extends JsqlParserSupport implements InnerInterceptor
logger| 构造器和说明 |
|---|
FakeTenantLineInnerInterceptor()
已过时。
|
FakeTenantLineInnerInterceptor(TenantHandler tenantHandler)
已过时。
|
| 限定符和类型 | 方法和说明 |
|---|---|
protected net.sf.jsqlparser.expression.BinaryExpression |
andExpression(net.sf.jsqlparser.schema.Table table,
net.sf.jsqlparser.expression.Expression where)
已过时。
delete update 语句 where 处理
|
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)
已过时。
处理条件:
支持 getTenantHandler().getTenantId()是一个完整的表达式:tenant in (1,2)
默认tenantId的表达式: LongValue(1)这种依旧支持
|
protected boolean |
canEqual(java.lang.Object other)
已过时。
|
protected void |
doExpression(net.sf.jsqlparser.expression.Expression expression)
已过时。
|
boolean |
equals(java.lang.Object o)
已过时。
|
protected net.sf.jsqlparser.schema.Column |
getAliasColumn(net.sf.jsqlparser.schema.Table table)
已过时。
租户字段别名设置
tenantId 或 tableAlias.tenantId
|
TenantHandler |
getTenantHandler()
已过时。
|
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 |
processFromItem(net.sf.jsqlparser.statement.select.FromItem fromItem)
已过时。
处理子查询等
|
protected void |
processInsert(net.sf.jsqlparser.statement.insert.Insert insert,
int index,
java.lang.String sql,
java.lang.Object obj)
已过时。
新增
|
protected void |
processJoin(net.sf.jsqlparser.statement.select.Join join)
已过时。
处理联接语句
|
protected void |
processPlainSelect(net.sf.jsqlparser.statement.select.PlainSelect plainSelect)
已过时。
处理 PlainSelect
|
protected void |
processPlainSelect(net.sf.jsqlparser.statement.select.PlainSelect plainSelect,
boolean addColumn)
已过时。
处理 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 net.sf.jsqlparser.expression.Expression |
processTableAlias4CustomizedTenantIdExpression(net.sf.jsqlparser.expression.Expression expression,
net.sf.jsqlparser.schema.Table table)
已过时。
目前: 针对自定义的tenantId的条件表达式[tenant_id in (1,2,3)],无法处理多租户的字段加上表别名
select a.id, b.name
from a
join b on b.aid = a.id and [b.]tenant_id in (1,2) --别名[b.]无法加上 TODO
|
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 |
setTenantHandler(TenantHandler tenantHandler)
已过时。
|
java.lang.String |
toString()
已过时。
|
parserMulti, parserSingle, processParserbeforeUpdate, willDoQuery, willDoUpdatepublic FakeTenantLineInnerInterceptor()
public FakeTenantLineInnerInterceptor(TenantHandler tenantHandler)
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 processSelectBody(net.sf.jsqlparser.statement.select.SelectBody selectBody)
protected 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 net.sf.jsqlparser.expression.BinaryExpression andExpression(net.sf.jsqlparser.schema.Table table,
net.sf.jsqlparser.expression.Expression where)
protected void processPlainSelect(net.sf.jsqlparser.statement.select.PlainSelect plainSelect)
protected void processPlainSelect(net.sf.jsqlparser.statement.select.PlainSelect plainSelect,
boolean addColumn)
plainSelect - ignoreaddColumn - 是否添加租户列,insert into select语句中需要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.expression.Expression processTableAlias4CustomizedTenantIdExpression(net.sf.jsqlparser.expression.Expression expression,
net.sf.jsqlparser.schema.Table table)
expression - table - 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 在接口中 InnerInterceptorpublic TenantHandler getTenantHandler()
public void setTenantHandler(TenantHandler tenantHandler)
public java.lang.String toString()
toString 在类中 java.lang.Objectpublic boolean equals(java.lang.Object o)
equals 在类中 java.lang.Objectprotected boolean canEqual(java.lang.Object other)
public int hashCode()
hashCode 在类中 java.lang.Object