| | |
| | | if (enableTenant) { |
| | | TenantSqlParser tenantSqlParser = new TenantSqlParser() |
| | | .setTenantHandler(tenantHandler); |
| | | |
| | | sqlParserList.add(tenantSqlParser); |
| | | //动态表名解析器 |
| | | DynamicTableNameParser dynamicTableNameParser = new DynamicTableNameParser(); |
| | | Map<String, ITableNameHandler> tableNameHanderMap = new HashMap<>(); |
| | |
| | | dynamicTableNameParser.setTableNameHandlerMap(tableNameHanderMap); |
| | | sqlParserList.add(dynamicTableNameParser); |
| | | } |
| | | sqlParserList.add(tenantSqlParser); |
| | | |
| | | // paginationInterceptor.setSqlParserList(CollUtil.toList(tenantSqlParser)); |
| | | paginationInterceptor.setSqlParserList(sqlParserList); |
| | | paginationInterceptor.setSqlParserFilter(sqlParserFilter); |
| | | } else { |
| | | //动态表名解析器 |
| | | DynamicTableNameParser dynamicTableNameParser = new DynamicTableNameParser(); |
| | | Map<String, ITableNameHandler> tableNameHanderMap = new HashMap<>(); |
| | | |
| | | //通过配置文件获取需要动态解析的表名 |
| | | List<String> dynamicTables = tenantProperties.getDynamicTables(); |
| | | if(dynamicTables.size()>0){ |
| | | dynamicTables.forEach(item->{ |
| | | tableNameHanderMap.put(item, new ITableNameHandler() { |
| | | @Override |
| | | public String dynamicTableName(MetaObject metaObject, String sql, String tableName) { |
| | | return DynamicTableContextHolder.getDynamicTable(); |
| | | } |
| | | }); |
| | | }); |
| | | dynamicTableNameParser.setTableNameHandlerMap(tableNameHanderMap); |
| | | sqlParserList.add(dynamicTableNameParser); |
| | | paginationInterceptor.setSqlParserList(sqlParserList); |
| | | paginationInterceptor.setSqlParserFilter(sqlParserFilter); |
| | | } |
| | | |
| | | // paginationInterceptor.setSqlParserList(CollUtil.toList(tenantSqlParser)); |
| | | |
| | | } |
| | | |
| | | |