引用来自“JFinal”的评论
创建多个数据源插件,并且为这多个数据源插创建 ActiveRecrodPlugin 对象 arp,然后为这多 arp 对象分别 arp.addMapping(tableName, ModelName.class),对于 Model来说,会自动切换到相应的数据源,对于 Db + Record 模式来说,需要使用 Db.use(configName) 来切换, JFinal 手册上有详细的例子,可以此下载:
http://www.jfinal.com
引用来自“孑然医生”的评论
这种方式貌似必须在configPlugin里面设置。但是我要先连接数据库得到连接地址等信息啊
引用来自“孑然医生”的评论
List<Record> record=Db.find("select * from servicer s left join warehouse w on s.id=w.ser_id");
Plugins me= new Plugins();
for (Record re : record) {
String jdbcUrl="jdbc:mysql://localhost/"+re.getStr("name")+"?useUnicode=true&characterEncoding=GB2312";
String name=re.getStr("ware_name");
String pwd=re.getStr("ware_pwd");
C3p0Plugin c3p0Plugin2 = new C3p0Plugin(jdbcUrl, name, pwd);
me.add(c3p0Plugin2);
ActiveRecordPlugin arpOracle = new ActiveRecordPlugin(re.getStr("id"),c3p0Plugin2);
arpOracle.start();
me.add(arpOracle);
}
Plugins 这个对象是 JFinal 启动时提供的,不能 new 出来使用,大概看出来你的意图,给个大概的程序如下:
引用来自“JFinal”的评论
List<Record> dataSources = Db.find(....);
int i = 0;
for (Record ds : dataSources) {
C3p0Plugin cp = new C3p0Plugin(ds.getXxx, ...);
cp.start();
ActiveRecordPlugin arp = new ActiveRecordPlugin("config_" + (i++), cp);
arp.start();
}
配置名这个参数在 for 循环中成了 config_0、config_1、config_2.... 这样的形式,最后需要手动调用一下cp.start() 与 arp.start(),包括你前面的 Db.find 如果想正常使用,也需要手动 arp.start(),除非你是在 configPlguin 中已经 me.add(arp) 了
引用来自“孑然医生”的评论
Plugins不能NEW出来的话,怎么得到?
YourJFinalConfig 中的 configPlugin(Plugins me) 这里已经传给你了,如果你不在 configPlugin 中初始化,就不需要 new 出来,直接调用 plugin 的 start() 即可打完收工,Plugins 其实就是帮助调用 start() 的######回复
@JFinal : 请问如何关闭或者说删除、修改特定的configName的连接数据库信息?######回复
@孑然医生 : 仔细看看 jfinal 手册,节省你无数时间######回复
@JFinal : 多谢!花了您不少时间了######回复
@孑然医生 : 无需关闭######回复
@孑然医生 : 每个 new ActiveRecordPlugin 的arp对象,设置的 configName 必须不同,代码已经写给你了 "config_" + (i++), 这段在每次循环时会产生新的 configName ,就是为了防止你说的错误的######@JFinal很急,能否帮忙先解决下!在线等!###### 创建多个数据源插件,并且为这多个数据源插创建 ActiveRecrodPlugin 对象 arp,然后为这多 arp 对象分别 arp.addMapping(tableName, ModelName.class),对于 Model来说,会自动切换到相应的数据源,对于 Db + Record 模式来说,需要使用 Db.use(configName) 来切换, JFinal 手册上有详细的例子,可以此下载:
http://www.jfinal.com######这种方式貌似必须在configPlugin里面设置。但是我要先连接数据库得到连接地址等信息啊。在configPlugin方法里面去连接数据库得到另外的连接信息,会报错!######
引用来自“JFinal”的评论
创建多个数据源插件,并且为这多个数据源插创建 ActiveRecrodPlugin 对象 arp,然后为这多 arp 对象分别 arp.addMapping(tableName, ModelName.class),对于 Model来说,会自动切换到相应的数据源,对于 Db + Record 模式来说,需要使用 Db.use(configName) 来切换, JFinal 手册上有详细的例子,可以此下载:
http://www.jfinal.com
这种方式貌似必须在configPlugin里面设置。但是我要先连接数据库得到连接地址等信息啊
######回复
@JFinal : Plugins不能NEW出来的话,怎么得到?######回复
@孑然医生 : 搞定后别忘了回来分享######回复
@JFinal : 感激不尽######回复
@孑然医生 : c3p0Plugin也需要调用 start() 方法才可以,因为你这样都不是在 configPlugin 中######回复
@JFinal : plugin = new C3p0Plugin(jdbcUrl, name, pwd)me.add(plugin);active = new ActiveRecordPlugin("ser"+re.getInt("id").toString(),plugin); 这段代码给了地址和用户信息会报dataSource can not be null错误。######
引用来自“JFinal”的评论
创建多个数据源插件,并且为这多个数据源插创建 ActiveRecrodPlugin 对象 arp,然后为这多 arp 对象分别 arp.addMapping(tableName, ModelName.class),对于 Model来说,会自动切换到相应的数据源,对于 Db + Record 模式来说,需要使用 Db.use(configName) 来切换, JFinal 手册上有详细的例子,可以此下载:
http://www.jfinal.com
在configPlugin方法里面我试着链接数据库得到信息,但是会报错######
引用来自“JFinal”的评论
创建多个数据源插件,并且为这多个数据源插创建 ActiveRecrodPlugin 对象 arp,然后为这多 arp 对象分别 arp.addMapping(tableName, ModelName.class),对于 Model来说,会自动切换到相应的数据源,对于 Db + Record 模式来说,需要使用 Db.use(configName) 来切换, JFinal 手册上有详细的例子,可以此下载:
http://www.jfinal.com
引用来自“孑然医生”的评论
这种方式貌似必须在configPlugin里面设置。但是我要先连接数据库得到连接地址等信息啊
List<Record> record=Db.find("select * from servicer s left join warehouse w on s.id=w.ser_id");
Plugins me= new Plugins();
for (Record re : record) {
String jdbcUrl="jdbc:mysql://localhost/"+re.getStr("name")+"?useUnicode=true&characterEncoding=GB2312";
String name=re.getStr("ware_name");
String pwd=re.getStr("ware_pwd");
C3p0Plugin c3p0Plugin2 = new C3p0Plugin(jdbcUrl, name, pwd);
me.add(c3p0Plugin2);
ActiveRecordPlugin arpOracle = new ActiveRecordPlugin(re.getStr("id"),c3p0Plugin2);
arpOracle.start();
me.add(arpOracle);
}######
引用来自“JFinal”的评论
创建多个数据源插件,并且为这多个数据源插创建 ActiveRecrodPlugin 对象 arp,然后为这多 arp 对象分别 arp.addMapping(tableName, ModelName.class),对于 Model来说,会自动切换到相应的数据源,对于 Db + Record 模式来说,需要使用 Db.use(configName) 来切换, JFinal 手册上有详细的例子,可以此下载:
http://www.jfinal.com
引用来自“孑然医生”的评论
这种方式貌似必须在configPlugin里面设置。但是我要先连接数据库得到连接地址等信息啊
引用来自“孑然医生”的评论
List<Record> record=Db.find("select * from servicer s left join warehouse w on s.id=w.ser_id");
Plugins me= new Plugins();
for (Record re : record) {
String jdbcUrl="jdbc:mysql://localhost/"+re.getStr("name")+"?useUnicode=true&characterEncoding=GB2312";
String name=re.getStr("ware_name");
String pwd=re.getStr("ware_pwd");
C3p0Plugin c3p0Plugin2 = new C3p0Plugin(jdbcUrl, name, pwd);
me.add(c3p0Plugin2);
ActiveRecordPlugin arpOracle = new ActiveRecordPlugin(re.getStr("id"),c3p0Plugin2);
arpOracle.start();
me.add(arpOracle);
}
Plugins 这个对象是 JFinal 启动时提供的,不能 new 出来使用,大概看出来你的意图,给个大概的程序如下:
List<Record> dataSources = Db.find(....);
int i = 0;
for (Record ds : dataSources) {
C3p0Plugin cp = new C3p0Plugin(ds.getXxx, ...);
cp.start();
ActiveRecordPlugin arp = new ActiveRecordPlugin("config_" + (i++), cp);
arp.start();
}
配置名这个参数在 for 循环中成了 config_0、config_1、config_2.... 这样的形式,最后需要手动调用一下cp.start() 与 arp.start(),包括你前面的 Db.find 如果想正常使用,也需要手动 arp.start(),除非你是在 configPlguin 中已经 me.add(arp) 了
######
引用来自“JFinal”的评论
创建多个数据源插件,并且为这多个数据源插创建 ActiveRecrodPlugin 对象 arp,然后为这多 arp 对象分别 arp.addMapping(tableName, ModelName.class),对于 Model来说,会自动切换到相应的数据源,对于 Db + Record 模式来说,需要使用 Db.use(configName) 来切换, JFinal 手册上有详细的例子,可以此下载:
http://www.jfinal.com
引用来自“孑然医生”的评论
这种方式貌似必须在configPlugin里面设置。但是我要先连接数据库得到连接地址等信息啊
引用来自“孑然医生”的评论
List<Record> record=Db.find("select * from servicer s left join warehouse w on s.id=w.ser_id");
Plugins me= new Plugins();
for (Record re : record) {
String jdbcUrl="jdbc:mysql://localhost/"+re.getStr("name")+"?useUnicode=true&characterEncoding=GB2312";
String name=re.getStr("ware_name");
String pwd=re.getStr("ware_pwd");
C3p0Plugin c3p0Plugin2 = new C3p0Plugin(jdbcUrl, name, pwd);
me.add(c3p0Plugin2);
ActiveRecordPlugin arpOracle = new ActiveRecordPlugin(re.getStr("id"),c3p0Plugin2);
arpOracle.start();
me.add(arpOracle);
}
Plugins 这个对象是 JFinal 启动时提供的,不能 new 出来使用,大概看出来你的意图,给个大概的程序如下:
引用来自“JFinal”的评论
List<Record> dataSources = Db.find(....);
int i = 0;
for (Record ds : dataSources) {
C3p0Plugin cp = new C3p0Plugin(ds.getXxx, ...);
cp.start();
ActiveRecordPlugin arp = new ActiveRecordPlugin("config_" + (i++), cp);
arp.start();
}
配置名这个参数在 for 循环中成了 config_0、config_1、config_2.... 这样的形式,最后需要手动调用一下cp.start() 与 arp.start(),包括你前面的 Db.find 如果想正常使用,也需要手动 arp.start(),除非你是在 configPlguin 中已经 me.add(arp) 了
Plugins不能NEW出来的话,怎么得到?