jfinal 多個數據庫連線及使用
阿新 • • 發佈:2019-01-04
有時根據專案需要,我們要連線多個數據,如db1 ,或db2,分別對應不同的ip地址及資料庫名稱,
jfinal 對於這樣的要求,有自己的一套方案,需要進行如下配置。
public void configPlugin(Plugins me) { PropKit.use("config.txt"); C3p0Plugin cp = new C3p0Plugin(PropKit.get("jdbcUrl"), PropKit.get("user"), PropKit.get("password"), PropKit.get("jdbcDriver")); cp.setInitialPoolSize(3); cp.setMaxIdleTime(10); cp.setMinPoolSize(3); cp.setMaxIdleTime(6); me.add(cp); ActiveRecordPlugin arp = new ActiveRecordPlugin(cp); arp.setDialect(new AnsiSqlDialect()); me.add(arp); C3p0Plugin cp2 = new C3p0Plugin(PropKit.get("jdbcUrl2"), PropKit.get("user2"), PropKit.get("password2"), PropKit.get("jdbcDriver2")); cp2.setInitialPoolSize(3); cp2.setMaxIdleTime(10); cp2.setMinPoolSize(3); cp2.setMaxIdleTime(6); me.add(cp2); ActiveRecordPlugin arp2 = new ActiveRecordPlugin("db2",cp2); arp2.setDialect(new AnsiSqlDialect()); me.add(arp2); _MappingKit.mapping(arp); }
注意這句 ActiveRecordPlugin arp2 = new ActiveRecordPlugin("db2",cp2); db2 是我為第2個數據庫連線起的別名,根據需要可以增加多個
具體可以增加多少個數據庫連線沒有實驗過,有興趣的可以試試 。
對於使用
Db.use("db2").update(sql); 這樣就可以使用 db2 資料庫了,使用 use 函式。
Db.update(sql); 當不使用 ues 函式使用的是 前面 配置裡面預設的資料庫。
以上事例為 連線 sql server 2008 資料庫,
arp2.setDialect(new AnsiSqlDialect()); 注意這句話 連線 sql2008 特有的解決字元 問題。