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

JAVA PROGRAMMING – 2012 - V2.1 JAVA PROGRAMMING

Chia sẻ: Caohung Thu | Ngày: | Loại File: PDF | Số trang:51

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

JDBC API là tập các Java API được sử dụng để tương tác với cơ sở dữ liệu quan hệ. ● Công dụng ● Kết nối cơ sở dữ liệu quan hệ. ● Gửi các câu truy vấn đến cơ sở dữ liệu. ● Nhận và xử lý các kết quả trả về từ cơ sở dữ liệu

Chủ đề:
Lưu

Nội dung Text: JAVA PROGRAMMING – 2012 - V2.1 JAVA PROGRAMMING

  1. JAVA PROGRAMMING – 2012 - V2.1 JAVA PROGRAMMING JDBC Nguyễn Hoàng Anh - nhanh@fit.hcmus.edu.vn Nguyễn Hoàng Anh - nhanh@fit.hcmus.edu.vn - ĐHKHTN 1
  2. JAVA PROGRAMMING – 2012 - V2.1 JAVA PROGRAMMING Nội dung trình bày ● JDBC API ● Kiến trúc JDBC ● Thiết lập kết nối đến cơ sở dữ liệu ● Statement ● PreparedStatement ● CallableStatement Nguyễn Hoàng Anh - nhanh@fit.hcmus.edu.vn - ĐHKHTN 2
  3. JAVA PROGRAMMING – 2012 - V2.1 JAVA PROGRAMMING JDBC API ● JDBC API là tập các Java API được sử dụng để tương tác với cơ sở dữ liệu quan hệ. ● Công dụng ● Kết nối cơ sở dữ liệu quan hệ. ● Gửi các câu truy vấn đến cơ sở dữ liệu. ● Nhận và xử lý các kết quả trả về từ cơ sở dữ liệu Nguyễn Hoàng Anh - nhanh@fit.hcmus.edu.vn - ĐHKHTN 3
  4. JAVA PROGRAMMING – 2012 - V2.1 JAVA PROGRAMMING Kiến trúc JDBC Nguyễn Hoàng Anh - nhanh@fit.hcmus.edu.vn - ĐHKHTN 4
  5. JAVA PROGRAMMING – 2012 - V2.1 JAVA PROGRAMMING Kiến trúc JDBC ● Khi làm việc với JDBD, java developer sẽ làm việc như nhau đối với các hệ cơ sở dữ liệu khác nhau. ● Java developer không phụ thuộc vào một hệ cơ sở dữ liệu cụ thể nào. ● Java developer không cần phải quan tâm đến sự khác nhau khi giao tiếp với các hệ quản trị cơ sở dữ liệu quan hệ khác nhau. Nguyễn Hoàng Anh - nhanh@fit.hcmus.edu.vn - ĐHKHTN 5
  6. JAVA PROGRAMMING – 2012 - V2.1 JAVA PROGRAMMING Thiết lập kết nối đến cơ sở dữ liệu ● Bước 1: Thêm thư viện JDBC Driver vào ứng dụng ● Bước 2: Đăng ký Driver - MySQL Cách 1: Class.forName : Class.forName(“org.gjt.mm.mysql.Driver”); Cách 2: DriverManager.registerDriver Driver driver = new org.gjt.mm.mysql.Driver() DriverManager.registerDriver(driver); Nguyễn Hoàng Anh - nhanh@fit.hcmus.edu.vn - ĐHKHTN 6
  7. JAVA PROGRAMMING – 2012 - V2.1 JAVA PROGRAMMING Thiết lập kết nối đến cơ sở dữ liệu ● MySQL → Database: bookonline → user: root , password: 123456 → port: 3306 (default) → server: localhost ● Java → url: jdbc:mysql://localhost:3306/bookonline → user: root , password: 123456 → characterEncoding: utf-8 Nguyễn Hoàng Anh - nhanh@fit.hcmus.edu.vn - ĐHKHTN 7
  8. JAVA PROGRAMMING – 2012 - V2.1 JAVA PROGRAMMING Thiết lập kết nối đến cơ sở dữ liệu 1 import java.sql.*; 2 import java.util.*; 1 Driver driver = new org.gjt.mm.mysql.Driver(); 2 DriverManager.registerDriver(driver); 3 String 4 conString="jdbc:mysql://localhost:3306/BookOnline"; 5 Properties info = new Properties(); 6 info.setProperty("characterEncoding", "utf8"); 7 info.setProperty("user", "root"); 8 info.setProperty("password", "root"); 9 Connection connection = 10 DriverManager.getConnection(conString, info); 11 . . . 12 connection.close(); Nguyễn Hoàng Anh - nhanh@fit.hcmus.edu.vn - ĐHKHTN 8
  9. JAVA PROGRAMMING – 2012 - V2.1 JAVA PROGRAMMING Thiết lập kết nối đến cơ sở dữ liệu ● Sau khi thiết lập kết nối đến cơ sở dữ liệu, có thể ● Gửi các câu truy vấn đến cơ sở dữ liệu. ● Nhận và xử lý các kết quả trả về từ cơ sở dữ liệu. Nguyễn Hoàng Anh - nhanh@fit.hcmus.edu.vn - ĐHKHTN 9
  10. JAVA PROGRAMMING – 2012 - V2.1 JAVA PROGRAMMING Các dạng Statement ● Statement: Thực hiện các câu truy vấn đơn giản. ● PreparedStatement: Thực hiện các câu truy vấn có các tham số đầu vào ● CallableStatement: Thực hiện các câu truy vấn có các tham só đầu vào và đầu ra. Cụ thể là các store procedure Nguyễn Hoàng Anh - nhanh@fit.hcmus.edu.vn - ĐHKHTN 10
  11. JAVA PROGRAMMING – 2012 - V2.1 JAVA PROGRAMMING Statement Nguyễn Hoàng Anh - nhanh@fit.hcmus.edu.vn - ĐHKHTN 11
  12. JAVA PROGRAMMING – 2012 - V2.1 JAVA PROGRAMMING Statement ● Statement: Thực hiện các câu truy vấn đơn giản. Nguyễn Hoàng Anh - nhanh@fit.hcmus.edu.vn - ĐHKHTN 12
  13. JAVA PROGRAMMING – 2012 - V2.1 JAVA PROGRAMMING Statement ● Cách tạo Statement đơn giản Statement sm = con.createStatement(); ● Các phương thức thường dùng sm.executeQuery(sql); → select sm.executeUpdate(sql); → insert, update, delete, drop, create, … sm.addBatch(sql) & sm.executeBatch() → Batch Nguyễn Hoàng Anh - nhanh@fit.hcmus.edu.vn - ĐHKHTN 13
  14. JAVA PROGRAMMING – 2012 - V2.1 JAVA PROGRAMMING Statement - executeQuery ● ResultSet rs = sm.executeQuery(sql); ● ResultSet → forward : rs.next() 1 Statement statement = con.createStatement(); 2 String sql = “SELECT * FROM DanhMuc”; 3 ResultSet rs = statement.executeQuery(sql); 4 while (rs.next()){ 5 int maDanhMuc = rs.getInt(“MaDanhMuc”); 6 String tenDanhMuc = rs.getString(“tenDanhMuc”); 7 System.out.println(maDanhMuc+” “+tenDanhMuc); 8 } 9 rs.close(); 10 sm.close(); 11 con.close(); Nguyễn Hoàng Anh - nhanh@fit.hcmus.edu.vn - ĐHKHTN 14
  15. JAVA PROGRAMMING – 2012 - V2.1 JAVA PROGRAMMING Statement - executeQuery ● Forward & Backward Statement sm= connection.createStatement( ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY); ● ResultSet rs = sm.executeQuery(sql); ● ResultSet rs → forward : rs.next(); → backward: rs.previous(); Nguyễn Hoàng Anh - nhanh@fit.hcmus.edu.vn - ĐHKHTN 15
  16. JAVA PROGRAMMING – 2012 - V2.1 JAVA PROGRAMMING Statement – executeUpdate 1 Statement sm = con.createStatement(); 2 String sql = “DELETE FROM Sach WHERE MaDanhMuc= 1”; 3 int n = sm.executeUpdate (sql); 4 if (n >= 0){ 5 System.out.println(n + “ Sách đã được xóa”); 6 }else{ 7 System.out.println(“Lỗi”); 8 } 9 sm.close(); 10 con.close(); Nguyễn Hoàng Anh - nhanh@fit.hcmus.edu.vn - ĐHKHTN 16
  17. JAVA PROGRAMMING – 2012 - V2.1 JAVA PROGRAMMING Statement – executeUpdate 1 Statement sm = con.createStatement(); 2 String sql = String.format(“UPDATE DanhMuc 3 SET TenDanhMuc = '%s'” 4 WHERE MaDanhMuc= %d”, 5 maDanhMuc, tenDanhMuc); 6 7 int n = sm.executeUpdate (sql); 8 if (n >= 0){ 9 System.out.println(“Cập nhật thành công”); 10 }else{ 11 System.out.println(“Lỗi”); 12 } 13 sm.close(); 14 con.close(); Nguyễn Hoàng Anh - nhanh@fit.hcmus.edu.vn - ĐHKHTN 17
  18. JAVA PROGRAMMING – 2012 - V2.1 JAVA PROGRAMMING Statement – executeUpdate 1 Statement sm = con.createStatement(); 2 String sql = String.format(“INSERT INTO DanhMuc 3 (TenDanhMuc) VALUES('%s')”,tenDanhMuc); 4 int n = sm.executeUpdate (sql); 5 if (n >= 0){ 6 System.out.println(“Thêm thành công”); 7 }else{ 8 System.out.println(“Lỗi”); 9 } 10 sm.close(); 11 con.close(); Nguyễn Hoàng Anh - nhanh@fit.hcmus.edu.vn - ĐHKHTN 18
  19. JAVA PROGRAMMING – 2012 - V2.1 JAVA PROGRAMMING Statement – executeUpdate 1 String tenDanhMuc = "C++"; 2 String sql= String.format("INSERT INTO 3 DANHMUC(TENDANHMUC) VALUES '%s')", tenDanhMuc); 4 int n=sm.executeUpdate(sql, 5 Statement.RETURN_GENERATED_KEYS); 6 if(n>0){ 7 System.out.println("Thêm thành công"); 8 ResultSet rs=statement.getGeneratedKeys(); 9 if(rs.next()){ 10 int mdm = rs.getInt(1); 11 System.out.println("Mã danh mục vừa thêm:" +mdm); 12 } 13 } 14 sm.close(); 15 con.close(); Nguyễn Hoàng Anh - nhanh@fit.hcmus.edu.vn - ĐHKHTN 19
  20. JAVA PROGRAMMING – 2012 - V2.1 JAVA PROGRAMMING Statement – executeUpdate 1 String [] tenDanhMucs = {"C++", "C#", "Java"}; 2 String sql="INSERT INTO DANHMUC(TENDANHMUC) VALUES "; 3 for(int i=0; i
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

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