public class DataSourceExpressionHandlerImpl extends Object implements IDataSourceExpressionHandler
| 限定符和类型 | 字段和说明 |
|---|---|
static String |
CREATE_BY_ID
创建人
|
private IDataSourceGetter |
dataSourceGetter |
static String |
DEPT_ID
部门
|
static String |
JOB_ID
岗位
|
private ITableFieldGetter |
tableFieldGetter |
| 构造器和说明 |
|---|
DataSourceExpressionHandlerImpl() |
| 限定符和类型 | 方法和说明 |
|---|---|
net.sf.jsqlparser.expression.Expression |
apply(net.sf.jsqlparser.expression.Expression currentExpression,
net.sf.jsqlparser.schema.Table table)
重写where条件达到数据权限处理的效果
|
private static net.sf.jsqlparser.expression.Expression |
buildExpression(net.sf.jsqlparser.expression.Expression currentExpression,
net.sf.jsqlparser.expression.Expression expression)
拼接where条件
|
private net.sf.jsqlparser.schema.Column |
getAliasColumn(net.sf.jsqlparser.schema.Table table,
String field)
获取带别名的字段对象
|
private net.sf.jsqlparser.expression.Expression |
getExpression(net.sf.jsqlparser.expression.Expression currentExpression,
net.sf.jsqlparser.schema.Table table,
String columnName,
Boolean hasColumn,
Collection<String> columnValues,
boolean and)
增强where条件
|
private net.sf.jsqlparser.expression.Expression |
getExpression(net.sf.jsqlparser.expression.Expression currentExpression,
net.sf.jsqlparser.schema.Table table,
String columnName,
Boolean hasColumn,
String columnValue)
增强where条件
|
@Autowired private ITableFieldGetter tableFieldGetter
@Autowired private IDataSourceGetter dataSourceGetter
public net.sf.jsqlparser.expression.Expression apply(net.sf.jsqlparser.expression.Expression currentExpression,
net.sf.jsqlparser.schema.Table table)
IDataSourceExpressionHandlerapply 在接口中 IDataSourceExpressionHandlercurrentExpression - 原where条件table - 操作的表private net.sf.jsqlparser.expression.Expression getExpression(net.sf.jsqlparser.expression.Expression currentExpression,
net.sf.jsqlparser.schema.Table table,
String columnName,
Boolean hasColumn,
String columnValue)
currentExpression - 当前where表达式table - 数据库表columnName - 数据权限字段名称hasColumn - 该表是否有数据权限字段columnValue - 数据权限值private net.sf.jsqlparser.expression.Expression getExpression(net.sf.jsqlparser.expression.Expression currentExpression,
net.sf.jsqlparser.schema.Table table,
String columnName,
Boolean hasColumn,
Collection<String> columnValues,
boolean and)
currentExpression - 当前where表达式table - 数据库表columnName - 数据权限字段名称hasColumn - 该表是否有数据权限字段columnValues - 数据权限范围and - 数据权限是否为交集private static net.sf.jsqlparser.expression.Expression buildExpression(net.sf.jsqlparser.expression.Expression currentExpression,
net.sf.jsqlparser.expression.Expression expression)
currentExpression - 当前where表达式expression - 需要拼接的条件private net.sf.jsqlparser.schema.Column getAliasColumn(net.sf.jsqlparser.schema.Table table,
String field)
table - 数据库表field - 字段名称Copyright © 2022 jvs. All rights reserved.