Tags:

Insert dữ liệu xuống database thông qua JDBC

JDBC là một API dùng để kết nối và thực thi các câu lệnh SQL xuống database. Trong bài viết này mình sẽ hướng dẫn các bạn sử dụng JDBC trong ứng dụng Java để thêm dữ liệu vào database.

Điều kiện tiên quyết

Hầu hết các ứng dụng Java hiện đây đều sử dụng Maven hoặc Gradle cho phép chúng ta dễ dàng quản lý các dependency, build source code etc. Vì vậy trong bài viết này mình sẽ sử dụng project maven để hướng dẫn.

Sau khi tạo project maven thành công, chúng ta cần thêm JDBC dependency tương ứng với cơ sở dữ liệu bạn muốn, ở đây mình sử dụng mysql.

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

Thêm dữ liệu xuống database thông qua JDBC

Các bước cần thực hiện để tạo xoá một database trong cơ sở dữ liệu.

Bước 1: Chuẩn bị các thông tin kết nối: Url, User, Password. Lưu ý rằng user/password là do bạn đặt trong lúc cài đặt mysql, hãy sửa lại cho đúng với dữ liệu của bạn nha.

static final String DB_URL = "jdbc:mysql://localhost:3306/students?serverTimezone=UTC&useSSL=false";
static final String USER = "root";
static final String PASS = "admin";

Note:

  • localhost: Trỏ đến máy đang chạy ứng dụng.
  • 3306: Port chạy mysql.
  • students: database muốn sử dụng

Nếu muốn kết nối đến database của một máy khác thì bạn có thể chuyển đổi locahost -> IP máy muốn kết nối và 3306 -> Port chạy mysql của máy muốn kết nối.

Nếu bạn chưa tạo database và table thì có thể tự tạo tay, hoặc có thể tham khảo tạo database và tạo table mình đã hướng dẫn ở các bài trước.

Bước 2: Tiếp theo chúng ta cần gọi Class.forName để đăng ký driver cho JDBCTuy nhiên kể từ JDBC4.0, tất cả các driver sẽ được tìm kiếm tự động nên chúng ta không cần dùng đến Class.forName nữa.

Class.forName("com.mysql.jdbc.Driver");

Bước 3: Kết nối đến cơ sở dữ liệu và thêm dữ liệu xuống table.

Trong ví dụ mình sẽ thêm dữ liệu xuống bảng REGISTRATION của STUDENTS database.

Bảng Registration có cấu trúc như sau:

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

public class Main {

    static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
    static final String DB_URL = "jdbc:mysql://localhost:3306/student?serverTimezone=UTC&useSSL=false";
    static final String USER = "root";
    static final String PASS = "admin";
    public static void main(String[] args)  {

        try (Connection connection = DriverManager.getConnection(DB_URL, USER, PASS)){
            Statement stmt;

            Class.forName(JDBC_DRIVER);
            System.out.println("Connecting to database...");

            System.out.println("Creating database...");
            stmt = connection.createStatement();

            String sql = "INSERT INTO Registration " +
                    "VALUES (100, 'Zara', 'Ali', 18)";
            stmt.executeUpdate(sql);
            sql = "INSERT INTO Registration " +
                    "VALUES (101, 'Mahnaz', 'Fatma', 25)";
            stmt.executeUpdate(sql);
            sql = "INSERT INTO Registration " +
                    "VALUES (102, 'Zaid', 'Khan', 30)";
            stmt.executeUpdate(sql);
            sql = "INSERT INTO Registration " +
                    "VALUES(103, 'Sumit', 'Mittal', 28)";
            stmt.executeUpdate(sql);
            System.out.println("Inserted records into the table...");
            System.out.println("Insert data success");
        } catch(SQLException | ClassNotFoundException se){
            se.printStackTrace();
        }
        System.out.println("Done!");
    }
}

Output

Connecting to database…
Creating database…
Inserted records into the table…
Insert data success
Done!

Nguồn tham khảo

https://www.tutorialspoint.com/jdbc/jdbc-insert-records.htm

0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x