当数据库中采用了分库的策略(即数据库中有多个数据库),Mybatis查询时,一定要切换数据库,否则就会报Cannot determine target DataSource for lookup key [null] 错误,即找不到对应的数据库
附上切换数据库的类
public class DBContextHolder {
private static final ThreadLocal<String> contextHolder = new ThreadLocal<String>();
public static void setDBType(String dbType) {
contextHolder.set(dbType);
}
public static String getDBType() {
return contextHolder.get();
}
public static void clearDBType() {
contextHolder.remove();
}
}
使用时,DBContextHolder.setDBType(target_db);