JFinal多数据源支持

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import com.alibaba.druid.pool.DruidDataSource;
import com.jfinal.kit.Prop;
import com.jfinal.kit.PropKit;
import com.jfinal.plugin.activerecord.ActiveRecordPlugin;
import com.jfinal.plugin.activerecord.CaseInsensitiveContainerFactory;
import com.jfinal.plugin.activerecord.dialect.OracleDialect;

@Configuration
public class XfActiveRecordConfig {
	
	@Bean(initMethod="start", destroyMethod="stop")
    public ActiveRecordPlugin xfActiveRecordPlugin() {
		DruidDataSource ds = new DruidDataSource();
		PropKit.use("db.properties");
		Prop p = PropKit.getProp();
		ds.setDriverClassName(p.get("db.middle.driverClass"));
		ds.setUrl(p.get("db.middle.jdbcUrl"));
		ds.setUsername(p.get("db.middle.user"));
		ds.setPassword(p.get("db.middle.password"));
		
        ActiveRecordPlugin arp = new ActiveRecordPlugin("middle", ds);
        arp.setShowSql(true);
        arp.setDialect(new OracleDialect());
		// 配置属性名(字段名)大小写不敏感容器工厂,true表示转为小写
		arp.setContainerFactory(new CaseInsensitiveContainerFactory(true));
        return arp;
    }
	
}

 主数据源使用时无需使用use,其它数据源使用时参照ExtDb.use("middle").save("apply_info", record);

猜你喜欢

转载自flyer0428-qq-com.iteye.com/blog/2380958