메이븐
가장 중요한 세부 사항은 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으로 프로세스 완료 |
GO TO FULL VERSION