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

Java로 MySQL 데이터베이스에 데이터 삽입하는 방법 (JDBC 완전 정리)

MySQL 데이터베이스에 데이터를 삽입하려면 INSERT 명령어를 사용합니다. 기본 문법은 다음과 같습니다.

INSERT INTO 테이블명(컬럼명1, ..., 컬럼명N) VALUES(값1, 값2, ..., 값N);

이 글에서는 Java 프로그래밍 언어를 이용해 MySQL 데이터베이스에 레코드를 삽입하는 전체 과정을 단계별로 살펴보겠습니다.

1단계: MySQL 테이블 생성하기

먼저 데이터를 저장할 테이블을 만들어야 합니다. 아래 쿼리로 InsertDemo 테이블을 생성합니다.

mysql> create table InsertDemo
    -> (
    -> Id int,
    -> Name varchar(200),
    -> Age int
    -> );
Query OK, 0 rows affected (0.97 sec)

2단계: Java 코드로 데이터 삽입하기

테이블 생성이 완료되면, JDBC를 통해 MySQL 데이터베이스와 연결한 후 INSERT 쿼리를 실행하는 Java 코드를 작성합니다.

import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import com.mysql.jdbc.Connection;
import com.mysql.jdbc.PreparedStatement;
import com.mysql.jdbc.Statement;

public class JavaInsertDemo {
    public static void main(String[] args) {
        Connection conn = null;
        Statement stmt = null;
        try {
            try {
                Class.forName("com.mysql.jdbc.Driver");
            } catch (Exception e) {
                System.out.println(e);
            }
            conn = (Connection) DriverManager.getConnection(
                "jdbc:mysql://localhost/business", "Manish", "123456");
            System.out.println("Connection is created successfully:");
            stmt = (Statement) conn.createStatement();
            String query1 = "INSERT INTO InsertDemo " + "VALUES (1, 'John', 34)";
            stmt.executeUpdate(query1);
            query1 = "INSERT INTO InsertDemo " + "VALUES (2, 'Carol', 42)";
            stmt.executeUpdate(query1);
            System.out.println("Record is inserted in the table successfully..................");
        } catch (SQLException excep) {
            excep.printStackTrace();
        } catch (Exception excep) {
            excep.printStackTrace();
        } finally {
            try {
                if (stmt != null)
                    conn.close();
            } catch (SQLException se) {}
            try {
                if (conn != null)
                    conn.close();
            } catch (SQLException se) {
                se.printStackTrace();
            }
        }
        System.out.println("Please check it in the MySQL Table......... ………..");
    }
}

코드 핵심 흐름 정리

위 코드의 동작 순서는 다음과 같습니다.

① 드라이버 로딩: Class.forName()으로 MySQL JDBC 드라이버를 메모리에 로드합니다.
② 연결 생성: DriverManager.getConnection()으로 URL, 사용자명, 비밀번호를 지정해 데이터베이스에 접속합니다.
③ 쿼리 실행: createStatement()로 Statement 객체를 만들고, executeUpdate()로 INSERT 문을 실행합니다.
④ 자원 해제: finally 블록에서 Statement와 Connection을 반드시 닫아 리소스 누수를 방지합니다.

참고: 예제의 com.mysql.jdbc.Driver는 구버전 커넥터용 클래스로 현재는 deprecated되었습니다. 최신 MySQL Connector/J 8.x 이상에서는 com.mysql.cj.jdbc.Driver를 사용하는 것이 권장됩니다.

3단계: 실행 결과 확인하기

프로그램을 실행하면 아래와 같이 연결 성공 및 데이터 삽입 완료 메시지가 출력됩니다.

Java로 MySQL 데이터베이스에 데이터 삽입하는 방법 (JDBC 완전 정리)

실제로 테이블에 레코드가 정상적으로 들어갔는지 확인하려면 SELECT 문을 사용합니다.

mysql> select * from InsertDemo;

실행 결과는 다음과 같습니다.

+------+-------+------+
| Id   | Name  | Age  |
+------+-------+------+
|    1 | John  |   34 |
|    2 | Carol |   42 |
+------+-------+------+
2 rows in set (0.00 sec)

위 결과에서 볼 수 있듯이, Java 프로그램을 통해 두 개의 레코드가 MySQL 데이터베이스에 성공적으로 삽입되었음을 확인할 수 있습니다.