jfinal 多数据源配置

本文介绍了一种在Java应用中配置多个数据库(包括MySQL和Oracle)的方法,并详细展示了如何使用C3p0进行数据库连接池配置及ActiveRecord插件的设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.一个mysql,一个oracle
    public void configPlugin(Plugins me) {
        // 配置C3p0数据库连接池插件
        C3p0Plugin c3p0Plugin = new C3p0Plugin(getProperty("njgw.jdbcUrl"), getProperty("njgw.user"),     getProperty("njgw.password").trim());
        c3p0Plugin.setInitialPoolSize(3).setMinPoolSize(3).setMaxPoolSize(10).setMaxIdleTime(5);
        me.add(c3p0Plugin);
        // 配置mysql ActiveRecord插件
        ActiveRecordPlugin arp = new ActiveRecordPlugin("njgw", c3p0Plugin);
        me.add(arp);
        configPluginVoicDB(me);
    }
    
    private void configPluginVoicDB(Plugins me) {
        // 配置C3p0数据库连接池插件
        C3p0Plugin c3p0Plugin = new C3p0Plugin(getProperty("ais.jdbcUrl"), getProperty("ais.user"),     getProperty("ais.password").trim());
            c3p0Plugin.setInitialPoolSize(3).setMinPoolSize(3).setMaxPoolSize(10).setMaxIdleTime(5);
            c3p0Plugin.setDriverClass("oracle.jdbc.driver.OracleDriver");    
        me.add(c3p0Plugin);
        // 配置mysql ActiveRecord插件
        ActiveRecordPlugin arp = new ActiveRecordPlugin("ais", c3p0Plugin);
        me.add(arp);
        // 配置Oracle方言
        arp.setDialect(new OracleDialect());
        //忽略大小写 
        arp.setContainerFactory(new CaseInsensitiveContainerFactory());
        arp.setDialect(new OracleDialect()).setShowSql(true);
    }  
配置文件:
njgw.jdbcUrl=jdbc:mysql://192.168.106.21:3306/NJGW_DB?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull
njgw.user=showclear
njgw.password=showclear  

ais.jdbcUrl=jdbc:oracle:thin:@192.168.103.253:1521:niydb
ais.user=niy
ais.password=1  


2.一个mysql,两个oracle
    public void configPlugin(Plugins me) {
        // 配置C3p0数据库连接池插件
        C3p0Plugin c3p0Plugin = new C3p0Plugin(getProperty("mysql.jdbcUrl"),
                getProperty("mysql.user"), getProperty("mysql.password").trim());
        c3p0Plugin.setInitialPoolSize(3).setMinPoolSize(3).setMaxPoolSize(10)
                .setMaxIdleTime(5);
        me.add(c3p0Plugin);
        ActiveRecordPlugin arp = new ActiveRecordPlugin("mysql", c3p0Plugin);
        arp.setShowSql(true);
        me.add(arp);
            // oracle
                       C3p0Plugin dsOracle = new C3p0Plugin(getProperty("oracle.jdbcUrl"),
                               getProperty("oracle.userName"), getProperty("oracle.password") .trim(), getProperty("oracle.driverClass").trim());
                                               dsOracle.setInitialPoolSize(3).setMinPoolSize(3).setMaxPoolSize(10) .setMaxIdleTime(5);
 me.add(dsOracle);
            
                        // oracle ActiveRecrodPlugin
                        ActiveRecordPlugin arpOracle = new ActiveRecordPlugin("oracle",    dsOracle);
                        arpOracle.setShowSql(false);
                        arpOracle.setDialect(new OracleDialect());
            
                        arpOracle.setContainerFactory(new CaseInsensitiveContainerFactory());
                        me.add(arpOracle);
            
                        arpOracle.setDialect(new OracleDialect());
                        arpOracle.setTransactionLevel(8);
            
            // oracle2 
                        C3p0Plugin dsOracle2 = new C3p0Plugin(getProperty("oracle2.jdbcUrl"),
                                getProperty("oracle2.userName"), getProperty("oracle2.password")
                                        .trim(), getProperty("oracle2.driverClass").trim());
                        dsOracle2.setInitialPoolSize(3).setMinPoolSize(3).setMaxPoolSize(10)
                                .setMaxIdleTime(5);
                        me.add(dsOracle2);
            
                        // oracle ActiveRecrodPlugin
                        ActiveRecordPlugin arpOracle2 = new ActiveRecordPlugin("oracle2",dsOracle2);
                        arpOracle2.setShowSql(false);
                        arpOracle2.setDialect(new OracleDialect());
            
                        arpOracle2.setContainerFactory(new CaseInsensitiveContainerFactory());
                        me.add(arpOracle2);
            
                        arpOracle2.setDialect(new OracleDialect());
                        arpOracle2.setTransactionLevel(8);
    }  
配置文件:
mysql.jdbcUrl=jdbc:mysql://192.168.103.178:3306/service_db?useUnicode=true&characterEncoding=utf8
mysql.user=showclear
mysql.password=showclear
oracle.driverClass = oracle.jdbc.driver.OracleDriver
oracle.jdbcUrl=jdbc:oracle:thin:@192.168.103.253:1521:niydb
oracle.userName=niy
oracle.password=1
oracle2.driverClass = oracle.jdbc.driver.OracleDriver
oracle2.jdbcUrl=jdbc:oracle:thin:@192.168.103.253:1521:niydb
oracle2.userName=niy
oracle2.password=1 

3.两个mysql 
    public void configPlugin(Plugins me) {
        // 配置C3p0数据库连接池插件
        C3p0Plugin c3p0Plugin = new C3p0Plugin(getProperty("njgw.jdbcUrl"), getProperty("njgw.user"),     getProperty("njgw.password").trim());
        c3p0Plugin.setInitialPoolSize(3).setMinPoolSize(3).setMaxPoolSize(10).setMaxIdleTime(5);
        me.add(c3p0Plugin);
        // 配置mysql ActiveRecord插件
        ActiveRecordPlugin arp = new ActiveRecordPlugin("njgw", c3p0Plugin);
        me.add(arp);
        
        C3p0Plugin c3p0Plugin2 = new C3p0Plugin(getProperty("mysql.jdbcUrl"),
            getProperty("mysql.user"), getProperty("mysql.password").trim());
        c3p0Plugin2.setInitialPoolSize(3).setMinPoolSize(3).setMaxPoolSize(10)
               .setMaxIdleTime(5);
        me.add(c3p0Plugin2);
       ActiveRecordPlugin arp2 = new ActiveRecordPlugin("mysql", c3p0Plugin2);
        arp2.setShowSql(true);
        me.add(arp2);
        
        configPluginVoicDB(me);
    }  
配置文件:
#njgw.jdbcUrl=jdbc:mysql://192.168.106.21:3306/NJGW_DB?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull
njgw.user=showclear
njgw.password=showclear
#mysql.jdbcUrl=jdbc:mysql://192.168.1.34:3306/DB_SC_VIDEO?useUnicode=true&characterEncoding=GBK
#mysql.user=showclear
#mysql.password=showclear  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值