1. JDBC là gì?
JDBC (Java Database Connectivity) là một chuẩn API (Application Program Interface) cho phép kết nối các chương trình viết bởi Java với các hệ quản trị cơ sở dữ liệu (MySQL, MS SQL, Postgre SQL, Oracle, DB2…)
JDBC chỉ là một tập các interface, các định nghĩa, thông báo lỗi, đặc tả chứ không phải là thư viện. Với mỗi hệ quản trị cơ sở dữ liệu ta sẽ có một cài đặt JDBC riêng cho nó, ví dụ JDBC cho MySQL, JDBC cho MS SQL …
Tóm Tắt
Các thành phần của JDBC
DriverManager: Dùng để quản lý danh sách các Driver (database drivers).
Bạn đang xem: Jdbc là gì
Driver: Dùng để liên kết các kết nối tới cơ sở dữ liệu, điều khiển các liên kết.
Connection: Biểu thị kết nối tới cơ sở dữ liệu. Dùng để tạo ra Statement, PreparedStatement và CallableStatement.
Statement, PreparedStatement, CallableStatement: Chứa lệnh SQL gửi tới cơ sở dữ liệu để thực thi.
Xem thêm: Ministry Of Home Affairs Là Gì ? Minister Of Home Affairs Tiếng Anh Là Gì
ResultSet – biểu diễn một tập kết quả trong cơ sở dữ liệu tạo ra bởi việc sử dụng một câu lệnh SQL là SELECT.
SQLException – một lớp xử lý lỗi ngoại lệ chứa các lỗi truy cập cơ sở dữ liệu.
2. Code ví dụ Kết nối java với mysql bằng JDBC
2. Code ví dụ Kết nối java với mysql bằng JDBC
Tạo cơ sở dữ liệu demo-jdbc và table user_info như hình dưới
(Xem lại: Cài đặt và cấu hình MySQL)
Bây giờ mình sẽ viết 1 chương trình Java kết nối tới database demo-jdbc và hiển thị các thông tin của table user_info
Để kết nối với MySQL bằng Java chúng ta cần download jdbc tương ứng cho MySQL
Các bạn có thể download thư viện jdbc cho MySQL tại đây mysql-connector-java-6.0.6.jar
Hoặc sử dụng maven:
mysql mysql-connector-java 6.0.6Ở đây mình sử dụng thư viện mysql-connector-java-6.0.6.jar và copy nó vào project
package suckhoedoisong.edu.vn.demomysqljdbc.demo;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.ResultSetMetaData;import java.sql.SQLException;import java.sql.Statement;public class Demo { public static void main(String<> args) throws ClassNotFoundException, SQLException { Class.forName(“com.mysql.jdbc.Driver”); Connection con = DriverManager.getConnection(“jdbc:mysql://localhost:3306/demo-jdbc”, “root”, “admin1234”); Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery(“SELECT * FROM user_info”); ResultSetMetaData rsmd = rs.getMetaData(); System.out.println(“Total columns: ” + rsmd.getColumnCount()); for (int i = 1; i JDBC là gì? Kết nối java với mysql bằng JDBCGiải thích:
Class.forName dùng để chỉ dẫn cho Java biết sẽ kết nối tới loại database nào. Class.forName(“com.mysql.jdbc.Driver”) biểu thị database MySQLDriverManager.getConnection(“jdbc:mysql://localhost:3306/demo-jdbc”, “root”, “admin1234”): tạo một connection tới database có url =jdbc:mysql://localhost:3306/demo-jdbc với username = “root ” và password = “admin1234:ResultSetMetaData sẽ meta data cho ResultSet, ở đây ResultSet lấy từ câu SQL “SELECT * FROM user_info” nên nó sẽ gồm tất cả các column trong table user_info. Nếu bản chuyển câu SQL thành “SELECT id, name FROM user_info” thì ResultSetMetaData sẽ chỉ có 2 column id, name
dùng để chỉ dẫn cho Java biết sẽ kết nối tới loại database nào.biểu thị database MySQLtạo một connection tới database có url =jdbc:mysql://localhost:3306/demo-jdbc với username = “root ” và password = “admin1234:sẽ meta data cho ResultSet, ở đây ResultSet lấy từ câu SQL “SELECT * FROM user_info” nên nó sẽ gồm tất cả các column trong table user_info. Nếu bản chuyển câu SQL thành “SELECT id, name FROM user_info” thì ResultSetMetaData sẽ chỉ có 2 column id, name
Kết quả:
Một số lưu ý:
Từ bản mysql-connector-java-6.0.6.jar bắt đầu chuyển class com.mysql.jdbc.Driver sang com.mysql.cj.jdbc.Driver, nếu bạn vẫn dùng class cũ thì nó sẽ thông báo warning chứ không ảnh hưởng gì.
Xem thêm:
Từ bản mysql-connector-java-6.0.6.jar bắt đầu chuyển class com.mysql.jdbc.Driver sang com.mysql.cj.jdbc.Driver, nếu bạn vẫn dùng class cũ thì nó sẽ thông báo warning chứ không ảnh hưởng gì.Xem thêm: Mạch Snubber Là Gì – Nghĩa Của Từ Snubbers Trong Tiếng Việt
Okay, Done!
Download code ví dụ trên tại đây
So sánh Statement với PreparedStatement, CallableStatement
Truy vấn database với jdbc – StatementStatement
Truy vấn database với jdbc – PreparedStatement
Truy vấn database với jdbc – CallableStatement
JDBC là gì? Kết nối java với mysql bằng JDBC
JDBC là gì? Kết nối java với mysql bằng JDBC
References:
http://www.theserverside.com/definition/Java-Database-Connectivity-JDBC
https://www.ibm.com/support/knowledgecenter/en/SSGU8G_12.1.0/com.ibm.jdbc_pg.doc/ids_jdbc_011.htm
This entry was posted in Network Programming and tagged jdbc, network programming. Bookmark the permalink.
Điều hướng bài viết
This entry was posted in Network Programming and tagged jdbc, network programming. Bookmark the permalink.