shikeying
2024-01-11 3b67e947e36133e2a40eb2737b15ea375e157ea0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
package com.walker.store.strategy;
 
import com.walker.connector.Address;
import com.walker.dbmeta.util.DatabaseUtils;
 
/**
 * 使用多库、多表方式的存储策略。</p>
 * 多表:主要是因为业务对同一个表会有多种区分,如:一卡通中每个学校都有自己的基础表,<br>
 * 我们为了拆分表,可以按照业务来重命名表。例如:base_info_389, base_info_212, ...
 * @author shikeying
 * @date 2015年12月20日
 *
 */
public class MultiDbAndTableStrategy extends OnlyMultiDatabaseStrategy {
 
    @Override
    protected String doQueryTableName(Address address, String srcTable, Object parameter) {
        if(parameter != null && parameter instanceof String){
            return srcTable + DatabaseUtils.DB_SEPARATOR + parameter;
        }
        throw new IllegalArgumentException("MultiDbAndTableStrategy:策略计算表名失败,参数错误:" + parameter);
    }
}