1. 程式人生 > >jfinal 多個數據庫連線及使用

jfinal 多個數據庫連線及使用

有時根據專案需要,我們要連線多個數據,如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 特有的解決字元 問題。