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); } }