package com.walker.store.strategy;
import com.walker.connector.Address;
import com.walker.dbmeta.util.DatabaseUtils;
/**
* 使用多库、多表方式的存储策略。
* 多表:主要是因为业务对同一个表会有多种区分,如:一卡通中每个学校都有自己的基础表,
* 我们为了拆分表,可以按照业务来重命名表。例如: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);
}
}