[Java] DB별 JDBC Driver와 URL

INO·2022년 3월 11일
0

Java

목록 보기
1/5
post-thumbnail
	/* 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을 자동으로 조합할 수 있습니다.

profile
🎢

0개의 댓글