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

cn.coder.jdbc.core.DataSourceConfig Maven / Gradle / Ivy

package cn.coder.jdbc.core;

import java.util.Properties;

public final class DataSourceConfig {
	private final String driverClassName;
	private final String url;
	private final String username;
	private final String password;
	private final Integer initialSize;
	private final String sourceName;

	public DataSourceConfig(String sourceName, boolean multiQueries, Properties properties) {
		this.sourceName = sourceName;
		this.driverClassName = properties.getProperty("jdbc.datasource." + sourceName + ".driverClassName");
		String tempUrl = properties.getProperty("jdbc.datasource." + sourceName + ".url");
		if (multiQueries) {
			this.url = tempUrl + (tempUrl.contains("?") ? "&" : "?") + "allowMultiQueries=true";
		} else {
			this.url = tempUrl;
		}
		this.username = properties.getProperty("jdbc.datasource." + sourceName + ".username");
		this.password = properties.getProperty("jdbc.datasource." + sourceName + ".password");
		String initialNum = properties.getProperty("jdbc.datasource." + sourceName + ".initialSize");
		if (initialNum != null && initialNum.trim().length() > 0) {
			this.initialSize = Integer.parseInt(initialNum);
		} else {
			this.initialSize = 2;// 默认初始化数量为2
		}
	}

	public String getDriverClassName() {
		return driverClassName;
	}

	public String getUrl() {
		return url;
	}

	public String getUsername() {
		return username;
	}

	public String getPassword() {
		return password;
	}

	public Integer getInitialSize() {
		return initialSize;
	}

	public String getSourceName() {
		return sourceName;
	}

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy