본문 바로가기
MySql

MySQL java를 사용하여 mysql의 특정 데이터베이스가 이미 존재하는지 확인하는 방법

by 베이스 공부 2021. 1. 29.
반응형

저는 JDBC를 처음 접했고 특정 데이터베이스가 이미 MySQL에 있는지 확인하는 방법이 있는지 알고 싶었습니다.

Students라는 데이터베이스를 만들고 싶다고 가정 해 봅시다. 만약 students 데이터베이스가 MySQL에서 이미 생성되어 있다면 eclipse의 오류 메시지는이 students 데이터베이스가 이미 존재한다는 것을 나타냅니다. 그러나 내가하고 싶었던 것은 학생 데이터베이스가 이미 존재하는지 확인하는 부울 메서드를 만드는 것입니다. 그것이 존재한다면 부울 메서드는 false를 반환하고 그렇지 않으면 true이면 학생 데이터베이스를 만들 수 있습니다. Java에서 어떻게 수행합니까? JDBC에이를 수행하는 메소드가 있습니까? 아니면 처음부터 코딩해야합니까?

나는 mguymons 제안을 따랐고 이것이 내가 나온 것입니다.

public boolean checkDBExists(String dbName){

    try {
        Class.forName(JDBCDriver); //Register JDBC Driver
        
        System.out.println("Creating a connection...");
        conn = DriverManager.getConnection(DBURL, USER, PASS); //Open a connection
    
        ResultSet resultSet = conn.getMetaData().getCatalogs();
        
        while (resultSet.next()) {
        
          String databaseName = resultSet.getString(1);
            if(databaseName.equals(dbName)){
                return true;
            }
        }
        resultSet.close();

    }
    catch(Exception e){
        e.printStackTrace();
    }
    
    return false;
}

 

해결 방법

 


// Connection connection = <your java.sql.Connection>
ResultSet resultSet = connection.getMetaData().getCatalogs();

//iterate each catalog in the ResultSet
while (resultSet.next()) {
  // Get the database name, which is at position 1
  String databaseName = resultSet.getString(1);
}
resultSet.close();

 

참조 페이지 https://stackoverflow.com/questions/12414596

 

 

반응형

댓글