CodeGym /Java Course /All lectures for KO purposes /첫 번째 JDBC 프로그램

첫 번째 JDBC 프로그램

All lectures for KO purposes
레벨 1 , 레슨 811
사용 가능

메이븐

가장 중요한 세부 사항은 MySQL 서버 자체에 대한 JDBC 드라이버 라이브러리입니다. 컴퓨터에 표시되지 않으므로 거기에 추가해야 합니다.

Maven을 사용하는 경우 올바른 라이브러리를 지정하여 Maven을 도와야 합니다.

MySQL JDBC 드라이버 :

   	<dependency>
        	<groupId>mysql</groupId>
        	<artifactId>mysql-connector-java</artifactId>
        	<version>8.0.29</version>
    	</dependency>

이 코드를 pom.xml 에 추가하기만 하면 됩니다 .

또한 몇 가지 더 인기있는 드라이버를 제공합니다.

PostgeSQL 용 JDBC 드라이버 :

<dependency>
    <groupId>org.postgresql</groupId>
    <artifactId>postgresql</artifactId>
    <version>42.4.0</version>
</dependency>

Oracle 용 JDBC 드라이버 :

<dependency>
    <groupId>com.oracle.database.jdbc</groupId>
    <artifactId>ojdbc8</artifactId>
    <version>21.5.0.0</version>
</dependency>

H2 용 JDBC 드라이버 :

<dependency>
    <groupId>com.h2database</groupId>
    <artifactId>h2</artifactId>
    <version>2.1.214</version>
</dependency>

첫 번째 데이터베이스 쿼리

필요한 모든 라이브러리가 포함되었으므로 이제 첫 번째 데이터베이스 액세스 프로그램을 실행할 차례입니다. 우리는 main() 메서드 에 모든 코드를 작성할 것입니다 .

1단계 . main() 메서드 앞에 몇 가지 가져오기를 추가하면 삶이 훨씬 쉬워집니다.

import java.sql.DriverManager;
import java.sql.Connection;
import java.sql.Statement;
import java.sql.ResultSet;

2단계 . 먼저 데이터베이스 연결을 생성해야 합니다. 이렇게 하려면 main() 메서드에서 다음 코드를 작성합니다.

Connection connection  = DriverManager.getConnection(
           "jdbc:mysql://localhost:3306/test",
           "login", "password");

한 줄로 할 수도 있습니다. 어느 쪽이든 더 편리합니다. 물론 로그인과 비밀번호는 로컬 MySQL 서버에서 실제 비밀번호로 대체해야 합니다.

3단계 . 데이터베이스에 대한 쿼리를 생성합니다. user 테이블에서 모든 사용자를 가져옵니다. 그런 다음 다음 코드 줄을 추가해야 합니다.

Statement statement = connection.createStatement();
ResultSet results = statement.executeQuery("SELECT * FROM user");

두 줄입니다. 처음에는 객체를 생성합니다.성명, 두 번째에서는 이를 사용하여 데이터베이스를 쿼리합니다. executeQuery() 메서드는 데이터베이스 쿼리를 실행하고 다음 유형의 개체를 반환합니다.결과 집합.

4단계 . 객체에 포함된 데이터 표시결과 집합.

결과 집합- 세트가 아니라 그냥 그렇게 불렀습니다. 쿼리 실행 결과를 저장합니다. 이 개체는 반복자와 비슷합니다. 결과의 현재 행을 설정/변경할 수 있으며 이 현재 행에서 데이터를 가져올 수 있습니다. 예제에 다음 코드를 추가합니다.

while (results.next()) {
        	Integer id = results.getInt(1);
        	String name = results.getString(2);
        	System.out.println(results.getRow() + ". " + id + "\t"+ name);
}

next() 메서드는 현재 결과 행을 다음 행으로 변경합니다. 해당 줄이 있으면 true를 반환하고 더 이상 줄이 없으면 false를 반환합니다.

그런 다음 개체의 현재 줄에서결과 집합해당 열에서 데이터를 가져올 수 있습니다.

  • getRow() - 객체의 현재 행 번호를 반환합니다.결과 집합
  • getInt(N) - 현재 행의 N번째 열의 데이터를 int로 반환합니다.
  • getString(N) - 현재 행의 N번째 열 데이터를 문자열로 반환합니다.

전체 프로그램 목록

오류를 최소화하기 위해 프로그램의 전체 목록은 다음과 같습니다.

package org.example;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class JdbcApplicatin {
    public static void main(String[] args) throws  Exception{
 	   Connection connection  = DriverManager.getConnection(
          	"jdbc:mysql://localhost:3306/test",
          	"root", "secret");

        Statement statement = connection.createStatement();
    	ResultSet results = statement.executeQuery("SELECT * FROM user");

    	while (results.next()) {
        	Integer id = results.getInt(1);
        	String name = results.getString(2);
        	System.out.println(results.getRow() + ". " + id + "\t"+ name);
    	}
    	connection.close();
    }
}

그리고 프로그램 실행 후 내 화면 출력:

"C:\Program Files\Java\jdk-17.0.3.1\bin\java.exe...
열하나 이바노프 이반
2.2 페트로프 니콜라이
3.3 시도로프 비탈리
종료 코드 0으로 프로세스 완료
코멘트
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION