JFinal multiple data source support

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());
		// Configure the property name (field name) case-insensitive container factory, true means lowercase
		arp.setContainerFactory(new CaseInsensitiveContainerFactory(true));
        return arp;
    }
	
}

 When using the main data source, you do not need to use use, and when using other data sources, refer to ExtDb.use("middle").save("apply_info", record);

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=326415784&siteId=291194637