Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 16 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
16
Dung lượng
1,01 MB
Nội dung
ThS Trần Thị Thanh Nga Khoa CNTT, Trường ĐH Nông Lâm TPHCM Email: ngattt@hcmuaf.edu.vn Nội dung Data Access Object (DAO) với Java Database Connectivity (JDBC) Các Interface JDBC Driver: phần điều khiển Connection: tham chiếu đến đối tượng kết nối CSDL Statement: chứa thực thi câu lệnh SQL PreparedStatement: chứa thực thi câu lệnh SQL (Tạo Connection) ResultSet: chứa kết việc thực thi câu lệnh select (Tạo việc thực thi Statement PreparedStatement) Statement Tạo Statement: Connection conn = /* Tạo kết nối Connection*/ Statement stmt = conn.createStatement(); Statement Thực thi câu lệnh SQL: Giả sử câu lệnh SQL đưa câu lệnh insert, update, delete: String sql = /* …………………………*/ int i = stmt.excuteUpdate(sql); Phương thức excuteUpdate() trả số dòng thêm, cập nhật, xóa thực thi câu lệnh SQL Statement Thực thi câu lệnh SQL: Giả sử câu lệnh SQL đưa câu lệnh select String sql = /* …………………………*/ ResultSet rs = stmt.executeQuery(sql); Phương thức excuteQuery () trả tập kết việc truy suất liệu Sau thực xong phương thức executeQuery() thành công, tiến hành kiểm tra lấy liệu ResultSet thông qua hai phương thức next() getType() (đã học Lab 6) Ví dụ câu lệnh Insert Ví dụ câu lệnh Update Ví dụ câu lệnh Delete Chú ý Trong Statement: Các tham số điều kiện SQL phải gán trực tiếp câu chuỗi SQL truyền vào cho Statement Khó quản lý tham số truyền vào Lồng ghép chuỗi phải ý tham số tương ứng với kiểu chữ kiểu số v v Sử dụng PreparedStatement để khắc phục yếu điểm PreparedStatement Tạo PreparedStatement: Connection conn = /* Tạo kết nối Connection*/ Statement prstmt = conn.preparedStatement(sql); prstmt.setType(index,value); index vị trí từ 1, tương ứng với dấu ? xuất câu lệnh SQL tính từ trái qua Type: Kiểu liệu tương ứng với kiểu liệu cần truyền vào SQL PreparedStatement Tạo PreparedStatement: Connection conn = /* Tạo kết nối Connection*/ Statement prstmt = conn.preparedStatement(sql); prstmt.setType(index,value); index vị trí từ 1, tương ứng với dấu ? xuất câu lệnh SQL tính từ trái qua Type: Kiểu liệu tương ứng với kiểu liệu cần truyền vào SQL Statement Thực thi câu lệnh SQL: Tương tự Statement, câu lệnh SQL Insert, Update, Delete gọi phương thức executeUpdate() để lấy số dòng thêm, cập nhập, xóa Và gọi phương thức executeQuery() để lấy tập kết việc thực thi câu lệnh Select Lưu ý: Câu lệnh SQL truyền vào q trình tạo PreparedStatement nên khơng cần truyền lại trình thực thi câu lệnh SQL VD: Sử dụng PreparedStatement: Bài tập Áp dụng vào đề tài mà nhóm thực hiện, trình bày buổi báo cáo tiến độ tuần Yêu cầu: Ít phải làm 02 chức có liên quan đến phần Step Product.jsp SmartPhone A233 Xóa Xóa Step Con.java Static Connection getConnection(){ // Config connect DB } Step DeleteProduct.java doget(… ){ String id = request.getParameter(“id”); boolean del = Product.delete(id); if(del){ // Delete Successful // Delete Object in ListProduct }else{ Delete failure } } Step Product.java static boolean delete(int id){ // Declare Connection, call from Con.getConnnection(); //Delete product in Database } VD: Thiết kế chức xóa sản phẩm CSDL ... Phương thức excuteQuery () trả tập kết việc truy suất liệu Sau thực xong phương thức executeQuery() thành công, tiến hành kiểm tra lấy liệu ResultSet thông qua hai phương thức next() getType()... index vị trí từ 1, tương ứng với dấu ? xuất câu lệnh SQL tính từ trái qua Type: Kiểu liệu tương ứng với kiểu liệu cần truyền vào SQL PreparedStatement Tạo PreparedStatement: Connection conn... index vị trí từ 1, tương ứng với dấu ? xuất câu lệnh SQL tính từ trái qua Type: Kiểu liệu tương ứng với kiểu liệu cần truyền vào SQL Statement Thực thi câu lệnh SQL: Tương tự Statement, câu