/* DB Connection Check
* @Param : Map
* @Return : Map*/
public Map<String, String> getJdbcData(Map<String,String> dbParam) {
Map<String, String> jdbcData = new HashMap();
String dbType = dbParam.get("DB_TYPE");
String dbIp = dbParam.get("DB_IP");
String dbPort = dbParam.get("DB_PORT");
String dbName = dbParam.get("DB_NAME");
String dbUserId = dbParam.get("DB_USER_ID");
String dbUserPw = dbParam.get("DB_USER_PW");
String driverClassNameStr = "";
String jdbcUrl = "";
switch (dbType.toUpperCase()) {
case "MSSQL":
driverClassNameStr = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
jdbcUrl = "jdbc:sqlserver://" + dbIp + ":" + dbPort + ";databaseName=" + dbName + ";user=" + dbUserId + ";password=" + dbUserPw + ";";
break;
case "MARIA":
driverClassNameStr = "org.mariadb.jdbc.Driver";
jdbcUrl = "jdbc:mariadb://" + dbIp + ":" + dbPort + "/" + dbName;
break;
case "MYSQL":
driverClassNameStr = "com.mysql.cj.jdbc.Driver";
jdbcUrl = "jdbc:mysql://" + dbIp + ":" + dbPort + "/" + dbName;
break;
case "MYSQL8":
driverClassNameStr = "com.mysql.cj.jdbc.Driver";
jdbcUrl = "jdbc:mysql://" + dbIp + ":" + dbPort + "/" + dbName + "?autoReconnect=true&useSSL=false&serverTimezone=UTC";
break;
case "ORACLE":
driverClassNameStr = "oracle.jdbc.driver.OracleDriver";
jdbcUrl = "jdbc:oracle:thin:@" + dbIp + ":" + dbPort + ":" + dbName;
break;
}
jdbcData.put("driverClassNameStr", driverClassNameStr);
jdbcData.put("jdbcUrl", jdbcUrl);
jdbcData.put("dbUserId", dbUserId);
jdbcData.put("dbUserPw", dbUserPw);
return jdbcData;
}
위의 방식을 사용하면 MsSQL, Maria, MYSQL, Oracle의 드라이버와 URL을 자동으로 조합할 수 있습니다.