intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Lập trình java: Chương 6 - ThS. Hoàng Mạnh Hà

Chia sẻ: Zcsdf Zcsdf | Ngày: | Loại File: PPTX | Số trang:28

85
lượt xem
7
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Nội dung chính của Bài giảng Lập trình java Chương 6 Kết nối cơ sở dữ liệu với Java nhằm trình bày về Java Database Connectivity, JDBC Driver Types, hiện thị dữ liệu với JTable từ ResultSet.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Lập trình java: Chương 6 - ThS. Hoàng Mạnh Hà

  1. Lập trình Java Kết nối CSDL với JAVA ThS. Hoàng Mạnh Hà hoangha84@gmail.com https:// sites.google.com/site/hoangha84
  2. Nội dung  Java Database Connectivity  JDBC Driver Types  Hiện thị dữ liệu với JTable từ ResultSet 2 SGU - CNTT - Lập Trình JAVA
  3. Java Database Connectivity 3 SGU - CNTT - Lập Trình JAVA
  4. Giới thiệu  Java Database Connectivity (JDBC) là tập API chuẩn dùng để kết nối giữa ngôn ngữ lập trình Java với nhiều loại cơ sở dữ liệu (Database – DB) khác nhau.  JDBC cung cấp các hàm thực hiện các công việc liên quan đến DB như:  Tạo kết nối đến DB  Chạy các câu lệnh SQL  Thực thi các câu truy vấn  Hiện thị và sửa đổi các dòng dữ liệu (records) 4 SGU - CNTT - Lập Trình JAVA
  5. Kiến trúc JDBC  JDBC API  JDBC Driver API 5 SGU - CNTT - Lập Trình JAVA
  6. Các thành phần phổ biến trong JDBC  DriverManager: lớp chứa danh sách các DB driver.  Driver: xử lý các giao tiếp với DB server. Thông thường ít dùng trực tiếp mà thông qua DriverManager.  Connection: gồm các hàm thao tác với DB, các thao tác với DB thông qua đối tượng connection.  Statement: đối tượng để gửi các SQL statements đến DB, có thể có các tham số để thực thi stored procedure ResultSet: đối tượng dùng để lưu dữ liệu trả về từ DB sau khi thực thi một câu SQL bằng đối tượng 6Statement. SGU - CNTT - Lập Trình JAVA
  7. JDBC driver  MySQL JDBC driver: MySQL Connector/J  http://dev.mysql.com/downloads/connector/j/  Microsoft SQL Server:  http:// www.microsoft.com/en-us/download/details.aspx?displaylang=e  PostgreSQL DB, Oracle DB: JDBC driver được cài sẵn trong quá trình cài đặt chương trình.  Sau khi download, trong Project của NetBeans:  Click phải Libraries  Add JAR/Folder…  Chỉ đến file .jar tương ứng. VD: sqljdbc4.jar 7 SGU - CNTT - Lập Trình JAVA
  8. Các bước xây dựng ứng dụng JDBC  Import the packages: thêm vào các gói chứa những lớp JDBC liên quan, thường thì chỉ cần import java.sql.* là được.  Register the JDBC driver: khởi tạo một driver để có thể mở kết nối với DB.  Open a connection: sử dụng phương thức DriverManager.getConnection() để tạo một đối tượng Connection đại diện cho kết nối vật lý với DB  Execute a query: sử dụng đối tượng Statement.  Extract data from result set: Sử dụng các hàm tương ứng ResultSet.getXXX() 8 SGU - CNTT - Lập Trình JAVA  Clean up the environment
  9. Register the JDBC driver  Các thông tin JDBC driver khác nhau với mỗi loại JDBC driver:  MySQL: "com.mysql.jdbc.Driver"  MS SQL Server: "com.microsoft.sqlserver.jdbc.SQLServerDriver "  Để đăng kí JDBC driver ta dùng phương thức:  Class.forName("Tên JDBC driver") 9 SGU - CNTT - Lập Trình JAVA
  10. Open a connection  Thông qua đối tượng của lớp Connection và phương thức getConnection() của lớp DriverManager:  Connection conn = DriverManager.getConnection(DB_URL, USER, PASS);  Trong đó:  DB_URL:  MS SQL Server: “jdbc:sqlserver://SERVERNAME:PORT;databaseName=DBNA ME”  MySQL: "jdbc:mysql://SERVERNAME:PORT/DBNAME"  USER: tên đăng nhập DB  10 PASS: mật khẩu đăng nhậLậDB JAVA SGU - CNTT - p p Trình
  11. Execute a query  Tạo đối tượng Statement bằng phương thức createStatement() của đối tượng Connection:  Statement stmt = conn.createStatement();  Sau đó chạy câu lệnh sql bằng phương thức executeQuery(“Câu lệnh sql”) và lấy giá trị trả về bằng đối tượng ResultSet:  ResultSet rs = stmt.executeQuery(sql); 11 SGU - CNTT - Lập Trình JAVA
  12. Extract data from result set  Bằng cách sử dụng các phương thức của đối tượng của lớp ResultSet  rs.next(): duyệt dòng kế tiếp của rs, trả về true nếu có, false nếu không có dòng dữ liệu.  Các phương thức getXXX(“Tên cột”)  rs.getInt()  rs.getString() 12 SGU - CNTT - Lập Trình JAVA
  13. Clean-up environment  Sử dụng các phương thức close() để hủy các đối tượng:  ResultSet: rs.close();  Statement: stmt.close();  Connection: conn.close(); 13 SGU - CNTT - Lập Trình JAVA
  14. JDBC Driver Types  http:// www.tutorialspoint.com/jdbc/jdbc-driver-types.htm 14 SGU - CNTT - Lập Trình JAVA
  15. Type 1: JDBC-ODBC Bridge Driver  In a Type 1 driver, a JDBC bridge is used to access ODBC drivers installed on each client machine. Using ODBC requires configuring on your system a Data Source Name (DSN) that represents the target database.  When Java first came out, this was a useful driver because most databases only supported ODBC access but now this type of driver is recommended only for experimental use or when no other alternative is available. 15 SGU - CNTT - Lập Trình JAVA
  16. Type 1: JDBC-ODBC Bridge Driver 16 SGU - CNTT - Lập Trình JAVA
  17. Type 2: JDBC-Native API  In a Type 2 driver, JDBC API calls are converted into native C/C++ API calls which are unique to the database. These drivers typically provided by the database vendors and used in the same manner as the JDBC-ODBC Bridge, the vendor-specific driver must be installed on each client machine.  If we change the Database we have to change the native API as it is specific to a database and they are mostly obsolete now but you may realize some speed increase with a Type 2 driver, because it eliminates ODBC's overhead. 17 SGU - CNTT - Lập Trình JAVA
  18. Type 2: JDBC-Native API 18 SGU - CNTT - Lập Trình JAVA
  19. Type 3: JDBC-Net pure Java  In a Type 3 driver, a three-tier approach is used to accessing databases. The JDBC clients use standard network sockets to communicate with an middleware application server. The socket information is then translated by the middleware application server into the call format required by the DBMS, and forwarded to the database server.  This kind of driver is extremely flexible, since it requires no code installed on the client and a single driver can actually provide access to multiple databases. 19 SGU - CNTT - Lập Trình JAVA
  20. Type 3: JDBC-Net pure Java 20 SGU - CNTT - Lập Trình JAVA
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2