Java에서 데이터베이스에 연결하는 방법? – JDBC 튜토리얼



이 기사에서는 Java에서 MySQL 데이터베이스를 연결하는 방법을 설명합니다. JDBC는 Java와 광범위한 데이터베이스 간의 데이터베이스 독립적 연결을위한 표준 Java API 중 하나입니다.

는 가장 유명한 프로그래밍 언어 중 하나이며 데이터베이스에 대한 광범위한 지원을 제공합니다. 이를 통해 다양한 데이터베이스에 연결할 수 있습니다. (자바 데이터베이스 연결). 이 기사에서는 JDBC를 사용하여 데이터베이스에 연결하고 쿼리를 실행하는 방법을 설명합니다.

이 기사에서 다루는 주제는 다음과 같습니다.





JDBC 소개

JDBC는 데이터베이스 독립적 연결을위한 표준 Java API 중 하나입니다. 그리고 광범위한 데이터베이스.이 API를 사용하면 액세스 요청 문을 구조적 쿼리 언어 (SQL). 이주로 연결 열기, SQL 데이터베이스 생성, SQL 쿼리 실행 및 출력에 도달하는 작업이 포함됩니다.

자바에 대한 경로를 설정하는 방법

JDBC API를 사용하여 관계형 데이터베이스에 저장된 테이블 형식 데이터에 액세스 할 수 있습니다. 이를 통해 데이터베이스에서 데이터를 업데이트, 저장, 가져 오기 및 삭제할 수 있습니다. Microsoft에서 제공하는 ODBC (Open Database Connectivity)와 유사합니다.



JDBC 작동에 대한 더 나은 이해를 위해 주제를 더 깊이 파고 들어 Java Database Connectivity의 뒤에있는 아키텍처를 이해하겠습니다.

공통 JDBC 구성 요소

JDBC API는 다음 인터페이스 및 클래스를 제공합니다.

  • DriverManager : 주로 데이터베이스 드라이버 목록을 관리하는 데 사용됩니다. 특정 하위 프로토콜을 인식하는 드라이버는 데이터베이스 연결을 설정하는 데 사용됩니다.



  • 드라이버 데이터베이스 서버와의 통신을 처리하는 인터페이스입니다. 또한 세부 사항을 추상화합니다.Driver 개체로 작업하는 동안 연결됩니다.

  • 연결 데이터베이스에 연결하는 데 필요한 모든 방법으로 구성된 인터페이스입니다. 연결 개체는 데이터베이스의 통신 기능을 다룹니다. 문맥.

이제 다음 항목으로 이동하여 JDBC 애플리케이션을 만드는 데 필요한 단계를 살펴 보겠습니다.

JDBC 애플리케이션을 만드는 단계

JDBC 애플리케이션을 생성하려면 몇 가지 단계를 수행해야합니다. 그들이 무엇인지 봅시다.

JDBC 애플리케이션을 만드는 단계-고급 Java 자습서-Edureka

  1. 패키지 가져 오기 : 필요한 JDBC 클래스를 포함하는 모든 패키지를 포함해야합니다. 데이터베이스 프로그래밍 . 가장 자주 사용 import java.sql. * 충분합니다.

  2. JDBC 드라이버를 등록하십시오. 여기서 데이터베이스와의 통신 채널을 열 수 있도록 드라이버를 초기화해야합니다.

  3. 연결 열기 : 여기에서 getConnection () 데이터베이스와의 물리적 연결을 나타내는 Connection 개체를 만드는 메서드입니다.

    현재까지 자바 캐스트 문자열
  4. 쿼리를 실행합니다. 이것은 실제로 SQL 문을 작성하고 데이터베이스에 제출하기 위해 Statement 유형의 객체를 사용해야합니다.

  5. 결과 집합에서 데이터를 추출합니다. 적절한 사용을 권장합니다. getXXX () 결과 세트에서 데이터를 검색하는 메소드.

  6. 환경 정리 : 여기서는JVM의 가비지 수집에 의존하지 않고 모든 데이터베이스 리소스를 명시 적으로 닫습니다.

이제 JDBC 애플리케이션을 만드는 데 관련된 다양한 단계를 보았으므로 데이터베이스를 만들고 연결을 설정하는 예제 코드를 살펴 보겠습니다.

package Edureka import java.sql. * import java.sql.DriverManager public class Example {// JDBC 드라이버 이름 및 데이터베이스 URL static final String JDBC_DRIVER = 'com.mysql.jdbc.Driver'static final String DB_URL = 'jdbc : mysql : // localhost / emp '// 데이터베이스 자격 증명 static final String USER ='root 'static final String PASS =' 'public static void main (String [] args) {Connection conn = null Statement stmt = null try {// STEP 2 : JDBC 드라이버 등록 Class.forName ( 'com.mysql.cj.jdbc.Driver') // STEP 3 : 연결 열기 System.out.println ( '데이터베이스에 연결 중 ...') conn = DriverManager.getConnection (DB_URL , 'root', '') // STEP 4 : 쿼리 실행 System.out.println ( 'Creating statement ...') stmt = conn.createStatement () String sql sql = 'SELECT id, first, last, age From Employees 'ResultSet rs = stmt.executeQuery (sql) // STEP 5 : 결과 집합에서 데이터 추출 while (rs.next ()) {// 열 이름으로 검색 int id = rs.getInt ('id ') int age = rs.getInt ( 'age') 문자열 먼저 = rs.getString ( 'first') 문자열 last = rs.getString ( 'last') // 값 표시 System.out.print ( 'ID :'+ id) System.out.print ( ', Age :'+ age) System.out.print ( ', First : '+ first) System.out.println (', Last : '+ last)} // STEP 6 : 클린업 환경 rs.close () stmt.close () conn.close ()} catch (SQLException se) {// JDBC se.printStackTrace ()에 대한 오류 처리} catch (Exception e) {//Class.forName에 대한 오류 처리 e.printStackTrace ()} finally {// 리소스를 닫는 데 사용되는 마지막 블록 try {if (stmt! = null) stmt.close ()} catch (SQLException se2) {} // 아무것도 할 수 없습니다 try {if (conn! = null) conn.close ()} catch (SQLException se) {se.printStackTrace ()} // end finally try} // end try System.out.println ( 'Goodbye!')} // end main} // end 예제

위의 코드는 localhost 데이터베이스에 테이블을 만듭니다. 생성 된 데이터베이스에 값을 삽입하려면 아래 코드를 참조하십시오. 4 단계에 대해서만 코드를 작성하겠습니다. 나머지 코드는 위와 동일하게 유지됩니다.

// STEP 4 : 쿼리 실행 System.out.println ( 'Creating table in given database ...') stmt = conn.createStatement () String sql = 'CREATE TABLE EMPLOYEES'+ '(id INTEGER not NULL,'+ 'first VARCHAR (255),'+ 'last VARCHAR (255),'+ 'age INTEGER,'+ 'PRIMARY KEY (id))'stmt.executeUpdate (sql) System.out.println ( '지정된 데이터베이스에 테이블 생성 ... ') System.out.println ('테이블에 레코드 삽입 ... ') stmt = conn.createStatement () String sql ='INSERT INTO Employees VALUES (100, 'Kriss', 'Kurian', 18) 'stmt.executeUpdate (sql) sql ='INSERT INTO Employees VALUES (101, 'Enrique', 'John', 25) 'stmt.executeUpdate (sql) sql ='INSERT INTO Employees (102, 'Taylor', 'Swift' , 30) 'stmt.executeUpdate (sql) sql ='INSERT INTO Employees VALUES (103, 'Linkin', 'Park', 28) 'stmt.executeUpdate (sql) System.out.println ('테이블에 레코드를 삽입합니다. .. ')

따라서 이것이 데이터베이스에 대한 연결을 설정하고 테이블에 값을 삽입하는 방법입니다. 이제 더 나아가 다양한 JDBC 드라이버 유형을 이해하겠습니다.

JDBC 드라이버 유형

JDBC 드라이버는 데이터베이스 서버와 상호 작용하기 위해 JDBC API에서 정의 된 인터페이스를 구현하는 데 사용됩니다.기본적으로 JDBC 드라이버 세 가지를 수행하며 다음과 같습니다.
1. 데이터 소스와의 연결을 설정합니다.
2. 쿼리 및 업데이트 문을 데이터 소스로 보냅니다.
3. 마지막으로 결과를 처리합니다.

예를 들어 JDBC 드라이버는 다음을 전송하여 데이터베이스 연결을 열어 상호 작용하도록 도와줍니다. . JDBC 드라이버 유형에 대해 더 알고 싶다면이 기사를 참조하십시오. .

이제 더 나아가 JDBC 연결을 이해하겠습니다.

JDBC 연결

  • JDBC 패키지 가져 오기 : 더하다 수입 당신의 진술 Java 코드에서 필수 클래스를 가져옵니다.

    Windows 10에 PHP를 설치하는 방법
  • JDBC 드라이버 등록 : In t 그의 발걸음, JDBC 요청을 수행 할 수 있도록 원하는 드라이버 구현을 메모리에로드합니다. 드라이버를 등록하는 방법에는 두 가지가 있습니다.

    • 드라이버를 등록하는 가장 적합한 방법은 Java의 forName () 드라이버의 클래스 파일을 메모리에 동적으로로드하는 방법 , 자동으로 등록됩니다. 이 방법은 드라이버 등록을 구성 가능하고 이식 가능하게 만들 수 있으므로 적합합니다. 아래 코드를 살펴보십시오.

      try {Class.forName ( 'oracle.jdbc.driver.OracleDriver')} catch (ClassNotFoundException ex) System.out.println ( '오류 : 드라이버 클래스를로드 할 수 없습니다!') System.exit (1)}
    • 드라이버를 등록하는 데 사용할 수있는 두 번째 방법은 정적 registerDriver () 방법.

      try {Driver myDriver = new oracle.jdbc.driver.OracleDriver () DriverManager.registerDriver (myDriver)} catch (ClassNotFoundException ex) {System.out.println ( '오류 : 드라이버 클래스를로드 할 수 없습니다!') System.exit (1 )}
  • 당신은 registerDriver () Microsoft에서 제공하는 것과 같은 비 JDK 호환 JVM을 사용하는 경우 메소드. 여기서 각 양식에는 데이터베이스가 필요합니다. URL .

  • 데이터베이스 URL 공식화 : 연결하려는 데이터베이스를 가리키는 적절한 형식의 주소를 생성하려면 URL 공식화가 필요합니다. 드라이버를로드하면 다음을 사용하여 연결을 설정할 수 있습니다. DriverManager.getConnection () 방법. DriverManager.getConnection () 메소드는 & 마이너스입니다.

    • getConnection (문자열 URL)

    • getConnection (문자열 URL, 속성 소품)

    • getConnection (문자열 URL, 문자열 사용자, 문자열 비밀번호)

  • 연결 개체 만들기

데이터베이스 URL, 사용자 이름 및 암호를 사용하고 속성 개체를 사용하여 연결을 만들 수 있습니다.

  • 닫기

마지막으로 데이터베이스 세션을 종료하려면 모든 데이터베이스 연결을 닫아야합니다. 그러나 잊어 버린 경우 Java의 가비지 수집기는 오래된 개체를 정리할 때 연결을 닫습니다.

conn.close () // 연결을 종료하는 데 사용됩니다.

이것이 바로 Java Database Connectivity에 관한 것입니다. JDBC에 대해 더 알고 싶다면이 기사를 참조하십시오. . 이것으로 '데이터베이스에 연결하는 방법'에 대한 기사의 끝으로 이동합니다. JDBC에 대한 귀하의 지식에 약간의 빛을 던 졌기를 바랍니다.

확인 전 세계에 250,000 명 이상의 만족 한 학습자 네트워크를 보유한 신뢰할 수있는 온라인 학습 회사 인 Edureka에서 이 자바 인터뷰 질문 외에도 자바 개발자가 되고자하는 학생과 전문가를 위해 설계된 커리큘럼을 마련했습니다.

질문이 있으십니까? 이 '데이터베이스에 연결하는 방법'기사의 댓글 섹션에 언급 해 주시면 가능한 한 빨리 연락 드리겠습니다.