All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.github.wujun728.db.ActiveRecordUtil Maven / Gradle / Ivy

The newest version!
package io.github.wujun728.db;

import cn.hutool.core.util.StrUtil;
import com.jfinal.plugin.activerecord.ActiveRecordPlugin;
import com.jfinal.plugin.activerecord.DbKit;
import com.jfinal.plugin.druid.DruidPlugin;

import javax.sql.DataSource;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;

public class ActiveRecordUtil {

	static volatile Map activeRecordPluginMap = new ConcurrentHashMap<>();
	
	public static ActiveRecordPlugin initActiveRecordPlugin(String configName,String jdbcUrl,String user,String password) {
		configName = StrUtil.isEmpty(configName)?DbKit.MAIN_CONFIG_NAME:configName;
		if(DbKit.getConfig(configName) == null){
			DruidPlugin druidPlugin = new DruidPlugin(jdbcUrl, user, password);
			ActiveRecordPlugin arp = new ActiveRecordPlugin(configName,druidPlugin);
			arp.setDevMode(true);
			arp.setShowSql(true);
			// 添加 sql 模板文件,实际开发时将 sql 文件放在 src/main/resources 下
			//arp.addSqlTemplate("com/jfinal/plugin/activerecord/test.sql");
			// 所有映射在生成的 _MappingKit.java 中自动化搞定
			//_MappingKit.mapping(arp);
			// 先启动 druidPlugin,后启动 arp
			druidPlugin.start();
			arp.start();
			activeRecordPluginMap.put(configName,arp);
			return arp;
		}else{
			return activeRecordPluginMap.get(configName);
		}
	}
	public static ActiveRecordPlugin initActiveRecordPlugin(String configName,DataSource ds) {
		configName = StrUtil.isEmpty(configName)?DbKit.MAIN_CONFIG_NAME:configName;
		if(DbKit.getConfig(configName) == null){
			ActiveRecordPlugin arp = new ActiveRecordPlugin(configName, ds);
			arp.setDevMode(true);
			arp.setShowSql(true);
			// 添加 sql 模板文件,实际开发时将 sql 文件放在 src/main/resources 下
			//arp.addSqlTemplate("com/jfinal/plugin/activerecord/test.sql");
			// 所有映射在生成的 _MappingKit.java 中自动化搞定
			//_MappingKit.mapping(arp);
			// 先启动 druidPlugin,后启动 arp
			arp.start();
			activeRecordPluginMap.put(configName,arp);
			return arp;
		}else{
			return activeRecordPluginMap.get(configName);
		}
	}

}






© 2015 - 2024 Weber Informatics LLC | Privacy Policy