반응형
저는 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
반응형
'MySql' 카테고리의 다른 글
MySQL DROP 데이터베이스 권한없이 명령 줄에서 모든 MySQL 테이블을 제거하는 방법은 무엇입니까? (0) | 2021.01.29 |
---|---|
MySQL PHP를 사용하여 무제한 열 수에 대해 MySQL 테이블에서 모든 필드 선택 및 표시 (0) | 2021.01.29 |
MySQL : 데이터 infile로드 (0) | 2021.01.29 |
MySQL 결과 PHP-배열 또는 객체? (0) | 2021.01.28 |
MySQL 한 열의 값에 다른 값이 포함되어 있는지 확인 (0) | 2021.01.28 |
댓글