Java - JDBC 드라이버로 MySQL에 연결

이 장에서는 단일 테이블로 간단한 데이터베이스를 만들어 java에서 데이터베이스를 학습하고 java.

Java는 JDBC(Java Database Connectivity)를 사용하여   데이터베이스에 연결합니다. 데이터.  JDBC를 사용하면 Oracle, MySQL, PostGre 등과 같은 많은 데이터베이스 관리자에 연결할 수 있습니다.

JDBC란 무엇입니까?

JDBC (Java 데이터베이스 연결)  Java 프로그램과 Oracle 회사 소유의 SQL 데이터베이스 간의 연결 인터페이스로, Sun Microsystems에서 만들었으며 JDK 버전 1.1부터 사용할 수 있습니다. 이 기술은 클라이언트가 MySQL 데이터베이스에 액세스하는 방법을 정의하는 드라이버입니다. JDBC 드라이버는 데이터베이스의 데이터를 쿼리하고 업데이트하기 위한 메소드를 제공합니다. JDBC는 관계형 데이터베이스를 위한 도구입니다.

JDBC 클래스는 패키지에 포함되어 있습니다.  java.sql  그리고  javax.sql. JDBC를 사용하면 동일한 애플리케이션에서 여러 구현을 수행할 수 있습니다. API는 해당 패키지를 동적으로 로드하고 드라이버 관리자와 함께 저장하는 데 도움이 되는 메커니즘을 기반으로 합니다. JDBC API는 JDBC.

JDBC API를 사용하여 다음 작업을 완료합니다.
  • MySQL, Oracle 등과 같은 관계형 데이터베이스에 대한 연결을 설정합니다.
  • 데이터베이스 서버에서 실행할 SQL 쿼리를 보냅니다.
  • Process SQL.

JDBC

  1. JDBC-ODBC Bridge 를 실행하여 반환된 결과 (유형 1): 이 드라이버는 ODBC 드라이버를 사용하여 서버 데이터베이스에 연결합니다. 데이터베이스에 연결하려는 컴퓨터에 ODBC 드라이버가 설치되어 있어야 하므로 이 드라이버는 구식이므로 선택의 여지가 없는 경우에만 사용해야 합니다.
  2. 네이티브 API  (유형 2): 이 유형은 클라이언트의 네이티브 드라이버를 통해 데이터베이스를 호출하도록 JDBC 명령을 변환합니다. 연결을 설정하려면 시스템에 고객 데이터베이스의 API가 설치되어 있어야 합니다.
  3. 미들웨어를 사용하여 Java로 작성된 드라이버  (유형 3): 이 유형은 네트워크 프로토콜을 사용하여 다른 유형의 데이터베이스와 통신할 수 있는 중간 서버로 메시지를 보냅니다. 이 드라이버는 애플릿과 함께 쉽게 사용할 수 있지만 서버가 있어야 합니다. 중급  이 드라이버와 함께 작동하도록 설치됩니다. 이 드라이버는   성능이 좋지 않습니다.
  4. 네이티브 프로토콜을 사용하는 Java 드라이버  (유형 4): JDBC 메시지를 서버와 호환되는 네트워크 프로토콜로 변환하여 데이터베이스를 직접 호출하기 때문에 선호되는 드라이버입니다. 다음과 같은 특정 드라이버를 사용해야 합니다.  OJDBC  오라클 제공 및 MySQL 커넥터/J  MySQL 데이터베이스의 경우.

JDBC API 클래스

클래스는 패키지에 있습니다  java.sql입니다. 4가지 중요한 클래스는 DriverManager, Connection, Statement 및 PreparedStatement 및 ResultSet.

- 입니다. DriverManager: 데이터베이스 로드 및 구성을 담당합니다.
Connection: 데이터베이스에 인증합니다.
Statement: SQL 쿼리를 데이터베이스로 보냅니다.
ResultSet: 데이터 선택의 경우 데이터베이스에서 검색된 결과를 찾아봅니다.

Database Configuration

파일에서 데이터베이스의 자세한 구성을 읽을 것이므로 다음 세부 정보를 변경하여 Oracle에서 MySQL로 또는 그 반대로 쉽게 전환할 수 있습니다.

#mysql DB 속성
#DB_DRIVER_CLASS=com.mysql.jdbc.Driver
#DB_URL=jdbc:mysql://localhost:3306/UserDB
#DB_USERNAME=usermysql
#DB_PASSWORD=usermysqlpw
#Oracle DB 속성
DB_DRIVER_CLASS=oracle.jdbc.driver.OracleDriver
DB_URL = jdbc : oracle : thin : @localhost : 1571 : MyDBSID< / code >< / div>
DB_USERNAME=useroracle
DB_PASSWORD=useroraclepw

JDBC API를 사용할 때 가장 중요한 것은 구성입니다. 가장 먼저 할 일은 사용할 드라이버 클래스를 선택하는 것입니다. MySQL의 경우 드라이버는  com.mysql.jdbc.Driver  오라클의 경우 oracle.jdbc.driver.OracleDriver입니다. 둘 다 인터페이스를 구현합니다  java.sql.드라이버. 이 두 클래스는 jar.

에서 찾을 수 있습니다. 두 번째로 중요한 것은 데이터베이스 연결 URL입니다. 각 드라이버에는 고유한 URL 구성이 있지만 동일한 구성이 있습니다. 호스트포트  et  스키마  을 입력합니다. MySQL 로그인의 경우 형식은   jdbc:mysql://< 호스트>:< 포트>:< 도표> .

또 다른 중요한 세부 사항은 데이터베이스에 연결하기 위한 사용자 이름과 암호입니다.

MySQL 데이터베이스에 연결

이 프로그램은 속성을 읽고 MySQL과의 연결을 만듭니다.

import java.io.FileInputStream; 
import java.io.IOException;
import java.sql.연결;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;

public class DBConnection {

public static Connection getConnection() {
Properties props = new Properties();
FileInputStream fis = null;
연결 con = null;
try {
fis = new FileInputStream("db.properties");
props.load(fis);

// 드라이버 로드 Class
Class.forName(props.getProperty("DB_DRIVER_CLASS"));

// 지금 연결 생성
con = DriverManager.getConnection(props.getProperty("DB_URL"),
props.getProperty("DB_USERNAME"),
props.getProperty("DB_PASSWORD"));
} 캐치(IOException | ClassNotFoundException 명령 | SQLException e) {
// TODO 자동 생성 catch 블록
e.printStackTrace();
}
반환 con;
}
}
먼저 속성 파일에서 데이터베이스 구성을 읽은 다음 JDBC 드라이버를 로드하고 DriverManager를 사용하여 연결을 만듭니다. Class.forName() 메서드를 호출하는 것은 new 연산자를 사용하지 않고 클래스의 인스턴스를 만들고 사용하지 않기 때문에 중요합니다. 개체는 메모리에 생성되고 DriverManager.

MySQL 데이터베이스에 대한 연결을 설정하려면 액세스할 URL을 지정하여 Connection 클래스의 개체를 인스턴스화해야 합니다. getConnection() 메서드는 다음과 같은 연결을 만듭니다.
  • url
  • 사용자 이름
  • 비밀번호
getConnection() 메서드  연결이 실패하면 java.sql.SQLException 예외가 발생합니다.