Jfinal 动态 添加/删除 MySQL、Oracle 数据源

这几天使用Jfinal一次性最多添加了6个数据源,其中还包括Oracle。十分的方便

如果使用别的框架做,可能非常麻烦,在此感谢 Jfinal 给了我这么愉快的开发方式!

InitDataSource.java

/**
 * 初始化 数据源
 * @author sun
 */
public static void initMTXMysqlDruidPlugin(){
    com.jfinal.plugin.activerecord.Config config = DbKit.getConfig(Const.MTX_MYSQL);
    if(config==null){
        DruidPlugin dp = Config.createMTXMysqlDruidPlugin();
        dp.start();
        DbKit.addConfig(new com.jfinal.plugin.activerecord.Config(Const.MTX_MYSQL, dp.getDataSource()));
        LOG.info(LOG.print("数据源初始化", "XXXX Mysql 本地数据库", "已成功"));
    }else{
        LOG.info(LOG.print("数据源初始化", "XXXX Mysql 本地数据库", "数据源存在"));
    }
}

Const.MTX_MYSQL 是数据源configName,找个地方设置一下即可!

Config.java

public static DruidPlugin createMTXMysqlDruidPlugin() {
    return new DruidPlugin(PropKit.get("mtx.db.url"), PropKit.get("mtx.db.user"), PropKit.get("mtx.db.pass").trim());
}


删除数据源的时候调用一下方法:

public static void closeMTXMysqlDruidPlugin(){
    DbKit.removeConfig(Const.MTX_MYSQL);
}


初始化 Oracle 数据源的我也发一下吧:

/**
 * 初始化满天星 oracle 数据库
 * @author sun
 */
public static void initMTXOracleDruidPlugin(){
    com.jfinal.plugin.activerecord.Config config = DbKit.getConfig(Const.MTX_ORACLE_DB);
    if(config==null){
        DruidPlugin dp = Config.createMTXOracleDruidPlugin();
        dp.start();
        DbKit.addConfig(new com.jfinal.plugin.activerecord.Config(Const.MTX_ORACLE_DB, dp.getDataSource(), new OracleDialect(), false, false, DbKit.DEFAULT_TRANSACTION_LEVEL, new CaseInsensitiveContainerFactory(), new EhCache()));
        LOG.info(ToolUtils.print("数据源初始化", "XXXX Oracle 远程数据库", "已成功"));
    }else{
        LOG.info(ToolUtils.print("数据源初始化", "XXXX Oracle 远程数据库", "数据源存在"));
    }
}


评论区

热门分享

扫码入社