Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

JDBC API로 MySQL 데이터베이스 전환하기: USE 쿼리와 URL 지정 방법

MySQL에서는 일반적으로 USE 쿼리를 사용하여 현재 작업 중인 데이터베이스를 손쉽게 변경할 수 있습니다. 이 글에서는 JDBC API를 활용해 자바 프로그램 내에서 데이터베이스를 선택하거나 전환하는 방법을 단계별로 살펴보겠습니다.

기본 문법

MySQL에서 현재 데이터베이스를 변경하는 기본 문법은 다음과 같습니다.

USE DatabaseName;

JDBC로 데이터베이스를 변경하는 절차

JDBC API를 사용해 현재 데이터베이스를 변경하려면 다음 네 가지 단계를 거쳐야 합니다.

  • 드라이버 등록: DriverManager 클래스의 registerDriver() 메서드를 사용해 드라이버 클래스를 등록합니다. 이때 드라이버 클래스 이름을 매개변수로 전달합니다.

  • 연결 설정: DriverManager 클래스의 getConnection() 메서드를 사용해 데이터베이스에 연결합니다. URL(String), 사용자 이름(String), 비밀번호(String)를 매개변수로 전달합니다.

  • Statement 객체 생성: Connection 인터페이스의 createStatement() 메서드를 사용해 Statement 객체를 생성합니다.

  • 쿼리 실행: Statement 인터페이스의 execute() 메서드를 사용해 쿼리를 실행합니다.

예제 코드

다음 JDBC 프로그램은 MySQL에 연결한 후 mydatabase라는 이름의 데이터베이스를 선택하는 예제입니다.

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
public class ChangeDatabaseExample {
   public static void main(String args[]) throws SQLException {
      //드라이버 등록
      DriverManager.registerDriver(new com.mysql.jdbc.Driver());
      //연결 설정
      String mysqlUrl = "jdbc:mysql://localhost/";
      Connection con = DriverManager.getConnection(mysqlUrl, "root", "password");
      System.out.println("Connection established......");
      //Statement 객체 생성
      Statement stmt = con.createStatement();
      //데이터베이스 변경 쿼리
      String query = "USE mydatabase";
      //쿼리 실행
      stmt.execute(query);
      System.out.println("Database changed......");
   }
}

실행 결과

Connection established......
Database changed......

URL에 데이터베이스 이름을 직접 지정하는 방법

USE 쿼리를 실행하는 방법 외에도, 연결 URL 끝에 데이터베이스 이름을 추가함으로써 처음부터 원하는 데이터베이스에 바로 연결할 수 있습니다. 이 방법은 별도의 쿼리 실행 없이 한 번의 연결로 대상 데이터베이스를 지정할 수 있어 더욱 간편합니다.

//연결 설정
String url = "jdbc:mysql://localhost/mydatabase";
Connection con = DriverManager.getConnection(url, "root", "password");

두 방법 모두 실무에서 널리 사용되며, 연결 시점에 데이터베이스가 정해져 있다면 URL 지정 방식을, 런타임 중 데이터베이스를 전환해야 한다면 USE 쿼리 방식을 사용하는 것이 효율적입니다.