Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 49 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
49
Dung lượng
1,22 MB
Nội dung
Java programming Lecture: Hoàng Quang Huy Email: qhuyfit@yahoo.com Mobile: 0904409554 & 0904187546 JDBC Khái niệm sở liệu Kiểu kết nối JDBC Gói thư viện java.sql Thiết lập kết nối JDBC • Nghiên cứu đối tượng Statement CallableStatement PreparedStatement • Nghiên cứu Transaction • Nghiên cứu ResultSet ResultSetMetaData Bài tập 1.1 Khái niệm CSDL Tập hợp có xếp thông tin, liệu vấn đề Hệ quản trị CSDL phần mềm quản lý CSDL - tổ chức, quản lý truy cập, định vị vật lý CSDL Chúng ta làm việc với CSDL quan hệ • • • Các trường (cột) liệu – data fields Các ghi (hàng) liệu – data records Các bảng liệu – data tables 1.1 Khái niệm CSDL Xây dựng Sử dụng hệ quản trị CSDL (Access, mySQL,…) Tạo CSDL có tên - myStudentData gồm: • Bảng sinh viên – tblStudent • Bảng môn học – tblSubject • Bảng điểm môn học – tblMark Quan hệ: • tblStudent - ∞ tblMark • tblSubject - ∞ tblMark 1.1 Khái niệm CSDL Xây dựng tblStudent gồm: • • • • • Định danh (studentID) AutoNumber Tên sinh viên (studentName) text (40) Ngày sinh (studentDOB) text (30) Địa (studentAddress) text (70) Khoa trường (studentFacultyUniversity) text (100) • Các ghi (studentNotes) text (250) tblSubject gồm: • Định danh (subjectID) AutoNumber • Tên môn học (subjectName) text (50) 1.1 Khái niệm CSDL Xây dựng • Số học trình (subjectUnits) Byte • Ghi môn học (subjectNotes) text (250) tblMark gồm: • • • • • • Định danh (markID) AutoNumber Định danh sinh viên – studentID Định danh môn học – subjectID Điểm lần (markResult1 4) Byte Điểm lần n (markRessultn) Byte Ghi (markNotes) text (250) 1.1 Khái niệm CSDL Ngôn ngữ SQL Từ khoá Mô tả SELECT Lựa chọn trường liệu từ hay nhiều bảng CSDL FROM Chỉ bảng liệu câu lệnh SELECT WHERE Chỉ tiêu chuẩn lựa chọn liệu GROUP BY Tiêu chuẩn gom nhóm ghi ORDER BY Tiêu chuẩn xếp ghi INSERT INTO Thực chèn liệu vào bảng UPDATE Cập nhật liệu bảng DELETE FROM Xoá liệu từ bảng 1.1 Khái niệm CSDL Ngôn ngữ SQL Các câu lệnh thao tác – truy vấn liệu • Chèn ghi INSERT INTO [()] VALUES () • Cập nhật lại ghi UPDATE SET = [WHERE ] • Xoá ghi DELETE FROM [WHERE ] • Câu lệnh truy vấn liệu SELECT FROM [WHERE …] 1.2 Kiểu kết nối JDBC Kiểu 1: JDBC sử dụng cầu nối ODBC Mã JAVAJava JavaApplication, Application, Applet, Applet,Servlet Servlet JDBC JDBCDriver Driver ODBC ODBC Mã đặc thù Database DatabaseDriver Driver Database 10 Nghiên cứu Transaction Một transaction: • Gọi conn.setAutoCommit(false) • Mọi câu lệnh SQL không xác lập thực thi, lưu trữ vùng rollback CSDL • Khi có lời gọi conn.commit() câu lệnh thực thi đồng loạt • Nếu không muốn thực thi cập nhật gọi conn.rollback() Phương thức rollback() dùng để loại bỏ tác dụng transaction lúc chưa thực commit() • Giá trị hoàn lại giá trị transaction commit trước 35 Nghiên cứu ResultSet ResultSet tập kết nhận sau thực thi truy vấn câu lệnh SQL vào CSDL ResultSet có khả cuộn hay không phụ thuộc vào đối tượng thực thi tạo Các giá trị ResultSet sau sử dụng tạo đối tượng thực thi • Kiểu ResultSet (resultSetType) TYPE_FORWARD_ONLY: ResultSet nhận duyệt chiều từ BOF EOF TYPE_SCROLL_INSENSITIVE: duyệt chiều không cảm nhận thay đổi số liệu TYPE_SCROLL_SENSITIVE: duyệt hai chiều cảm nhận thay đổi số liệu • Kiểu Concurrency CONCUR_READ_ONLY: ResultSet không cập nhật CONCUR_UPDATABLE: ResultSet cập nhật 36 Nghiên cứu ResultSet Các vị trí đặc biệt ResultSet Vị trí đầu ResultSet (beforeFirst) • không chứa record, thường coi BOF • Kiểm tra phương thức isBeforeFirst() Vị trí cuối ResultSet (afterLast) • không chứa record, thường coi EOF • Kiểm tra phương thức isAfterLast() Vị trí đầu (First) • ghi ResultSet • Kiểm tra phương thức isFirst() Vị trí cuối (Last) • ghi cuối ResultSet • Kiểm tra phương thức isLast() 37 Nghiên cứu ResultSet Các phương thức di chuyển ResultSet next() di chuyển sang ghi kế tiếp, giá trị nhận false không ghi để di chuyển previous() di chuyển ghi trước absolute(int lnumber) di chuyển đến ghi có số thứ tự lnumber • Nếu lnumber > số thứ tự tính từ First • Nếu lnumber < số thứ tự tính từ Last relative(int lnumber) di chuyển sang ghi có vị trí tương đối so với ghi hành 38 Nghiên cứu ResultSet Ví dụ: Duyệt tập kết nhận String strSelect = “SELECT fullName, birthDay FROM tblStudent WHERE (id>=28) AND (id