Tạo Kết Nối đến Database Sử Dụng JDBC - Deft Blog
Có thể bạn quan tâm
Mục lục
- 1 Điều kiện tiên quyết
- 2 Kết nối đến database sử dụng JDBC
- 3 Tóm lược
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 sẽ hướng dẫn các bạn sử dụng JDBC trong ứng dụng Java để tạo kết nối đến database được chỉ định và thực hiện một số lệnh truy vấn đơn giản.
Đ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>Kết nối đến database sử dụng JDBC
Các bước cần thực hiện để tạo kết nối đến một database cụ thể.
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 kết nối đến.
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
URL dùng để chỉ định đúng đến database bạn muốn sử dụng cho ứng dụng ví dụ students, companies etc.
Note: Bạn phải chỉ đinh serverTimezone cho JDBC driver nếu không sẽ gặp lỗi sau
java.sql.SQLException: The server time zone value 'unknown' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driverCó 2 cách để cấu hình serverTimezone, đầu tiên là bạn có thể chỉ định sẵn trong chuỗi kết nối database.
static final String DB_URL = "jdbc:mysql://localhost:3306/?serverTimezone=UTC&useSSL=false"; static final String USER = "root"; static final String PASS = "admin";Hoặc có thể tìm đến file cấu hình của mysql my.ini hoặc my.cnf để thêm time-zone mặc định vào cuối file.
# Indicates the InnoDB Cluster Port. # innodbclusterport=3306 # Load mysql plugins at start."plugin_x ; plugin_y". # plugin_load # MySQL server's plugin configuration. # loose_mysqlx_port=33060 # Set default time zone default-time-zone = '+08:00'Bước 2: Tiếp theo chúng ta cần gọiClass.forName để đăng ký driver cho JDBC. Tuy 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 được chỉ định
Trong ví dụ mình sẽ kết nối đến database students và kiểm tra xem nó đã có table nào chưa?
import java.sql.*; public class Main { // JDBC driver name and database URL static final String JDBC_DRIVER = "com.mysql.jdbc.Driver"; static final String DB_URL = "jdbc:mysql://localhost:3306/students?serverTimezone=UTC&useSSL=false"; // Database credentials static final String USER = "root"; static final String PASS = "123456"; public static void main(String[] agrs) throws ClassNotFoundException { Class.forName(JDBC_DRIVER); try (Connection connection = DriverManager.getConnection(DB_URL, USER, PASS)) { System.out.println("Connecting to database..."); Statement statement = connection.createStatement(); ResultSet resultSet = statement.executeQuery("show tables"); while (resultSet.next()) { System.out.println(resultSet.getString("Tables_in_students")); } resultSet.close(); } catch (SQLException e) { e.printStackTrace(); } } }Output:
classscore
Tóm lược
Vậy là chúng ta đã tìm hiểu được cách kết nối đến database và thực thi một số lệnh sql đơn giản. Ở những bài viết sau chúng ta sẽ cùng nhau tìm hiểu những vấn đề khác trong JDBC.
Từ khóa » Kết Nối Database Trong Java
-
Hướng Dẫn Sử Dụng Java JDBC Kết Nối Cơ Sở Dữ Liệu - Openplanning
-
Hướng Dẫn Kết Nối Cơ Sở Dữ Liệu Với Java JDBC | TopDev
-
Hướng Dẫn Sử Dụng JDBC Kết Nối Cơ Sở Dữ Liệu Trong Java
-
Kết Nối Java Với SQL Server - VietTuts
-
Kết Nối Database Với Java Spring - Viblo
-
Bài 44: Kết Nối Cơ Sở Dữ Liệu Với Thư Viện JDBC Trong Java - VnCoder
-
Java3 Java Swing Hướng Dẫn Kết Nối Database JDBC Với Netbean 11 ...
-
Kết Nối Cơ Sở Dữ Liệu Trong Java Với JDBC
-
Kết Nối JDBC Với Cơ Sở Dữ Liệu - Hoclaptrinh
-
Tạo Ứng Dụng Quản Lý Sinh Viên Với JDBC Như Thế Nào?
-
Kết Nối Sql Server Với Java - StuDocu
-
Hướng Dẫn Kết Nối Java Với Sql Server
-
Kết Nối Cơ Sở Dữ Liệu Trong Java Với JDBC - Hoclaptrinh