悟宁 VIP1
2016-05-26 开始修炼简单之道
刚刚
Jieven 发表了文章
69月前
悟宁 每日打卡
获得金币+9,获得点播券+2
84月前
悟宁 回复
@Jieven 以下是我新增源的代码
private ActiveRecordPlugin addDataSource(Plugins plugins, String datasource, String dbType) {

// 添加数据源
String url, user, pwd;
url = props.get(datasource + "_url");
user = props.get(datasource + "_user");
pwd = props.get(datasource + "_pwd");

WallFilter wall = new WallFilter();
wall.setDbType(dbType);

DruidPlugin dp = new DruidPlugin(url, user, pwd);
dp.addFilter(new StatFilter());
dp.addFilter(wall);

ActiveRecordPlugin arp = new ActiveRecordPlugin(datasource, dp);
// 方言
arp.setDialect(new MysqlDialect());
// 事务级别
arp.setTransactionLevel(Connection.TRANSACTION_REPEATABLE_READ);
// 统一全部默认小写
arp.setContainerFactory(new CaseInsensitiveContainerFactory(true));
// 是否显示SQL
arp.setShowSql(true);
System.out.println("load data source:" + url + "/" + user);

plugins.add(dp).add(arp);

// 注册数据源
dataSources.add(datasource);

return arp;
}

这部分既然能成功导入源数据,那理论也没啥问题吧
84月前
悟宁 回复
@Jieven 试用一下这个功能
84月前
悟宁 回复
#默认数据源
main_url = jdbc:mysql://******?characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull
main_user = ***
main_pwd = ***

#Eova数据源
eova_url = jdbc:mysql://***:3306/eova?characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull
eova_user = ****
eova_pwd = ***

#log数据源
log_url = jdbc:mysql://***:3306/*?characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull
log_user = ****
log_pwd = ****

我验证过Db.use("eova")可以正常查到eova源里的表数据
Db.use("log")后面如果去查默认main源里面的数据,也可以查到,所以基本可以判定是use对于第三个源没有生效,所以仍然使用默认源

ps:居然不能贴图,吐槽一下
84月前
悟宁 创建了一个问题
84月前
悟宁 创建了一个问题