package com.bj58.zpsender.config;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
public class MySqlPropertyConfig {
private static Logger logger = LoggerFactory.getLogger(MySqlPropertyConfig.class);
private static MySqlPropertyConfig instance = null;
private String jdbcUrl;
private String driver;
private String username;
private String password;
private String mapperLocations;
private String jdbcValidationQuery;
private MySqlPropertyConfig() {
}
public String getJdbcUrl() {
return jdbcUrl;
}
public String getDriver() {
return driver;
}
public String getUsername() {
return username;
}
public String getPassword() {
return password;
}
public String getMapperLocations() {
return mapperLocations;
}
public String getJdbcValidationQuery() {
return jdbcValidationQuery;
}
public static MySqlPropertyConfig getInstance() {
if (instance == null) {
throw new RuntimeException("请先调用init方法进行初始化");
}
return instance;
}
public static void init(String configPath) throws IOException {
if (instance != null) {
return;
}
synchronized(MySqlPropertyConfig.class) {
if (instance != null) {
return;
}
newInstance(configPath);
}
}
private static void newInstance(String configPath) throws IOException {
configPath += "/config/mydb.properties";
Properties prop = new Properties();
InputStream in = new FileInputStream(configPath);
prop.load(in);
instance = new MySqlPropertyConfig();
instance.jdbcUrl = prop.getProperty("jdbc.url");
instance.driver = prop.getProperty("jdbc.driver");
instance.username = prop.getProperty("jdbc.username");
instance.password = prop.getProperty("jdbc.password");
instance.mapperLocations = prop.getProperty("jdbc.mapperLocations");
instance.jdbcValidationQuery = prop.getProperty("jdbc.validationQuery");
}
}