1. Trang chủ
  2. » Công Nghệ Thông Tin

Java làm việc với CSDL

46 507 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 46
Dung lượng 542,71 KB

Nội dung

LÀM VIỆC VỚI CƠ SỞ DỮ LIỆU Nội dung • Khái niệm JDBC • Các bước sử dụng JDBC trong ứng dụng Java • Các đối tượng Statement • ResultSet – ResultSet cuộn được – ResultSet cập nhật Khái niệm về JDBC JDBC: Java Database Connectivity API • Là một phần của các hàm Java API cho môi trường ứng dụng Java. • JDBC thì tương tự như ODBC drivers, ADO.NET data providers và OLE DB providers. • Để kết nối đến CSDL, JDBC yêu cầu trình điều khiển (driver) cho mỗi CSDL. • Các trình điều khiển JDBC đưa ra các kết nối cơ sở dữ liệu và thực hiện các giao thức (protocol) để trao đổi các truy vấn và kết quả giữa khách hàng và cơ sở dữ liệu. • Các trình điều khiển JDBC được chia làm 4 nhóm. Loại 1: JDBC-ODBC bridge • Cầu nối JDBC-ODBC: Cung cấp các truy cập JDBC thông qua các truy cập ODBC. Driver này chuyển các lời gọi JDBC thành lời gọi các hàm trong ODBC. • Gói driver cho JDBC-ODBC: sun.jdbc.odbc.JdbcOdbcDriver. • Client -> JDBC Driver -> ODBC Driver -> Database Loại 1: JDBC-ODBC bridge • Ưu điểm: Dễ kết nối, kết nối thẳng đến CSDL. • Khuyết điểm: ODBC driver phụ thuộc vào hệ điều hành và đòi hỏi client phải được cài driver. • Tốc độ truy xuất chậm. • Trên Access, ODBC driver bị lỗi khi chuyển mã ký tự. Loại 2: Native-API partly Java driver • Chuyển các lệnh gọi JDBC thành các lệnh gọi API trên máy client của CSDL (như Oracle, SyBase, DB2, …). • Như vầy, nó đòi hỏi trên máy client cần phải nạp trước một số lệnh nhị phân của các trình chạy trên máy client của CSDL. • JDBC driver loại này phụ thuộc nền tảng sử dụng. • Không phải CSDL nào cũng có driver dạng này. • Driver này tương tích hầu hết tất cả các ứng dụng Java ngoại trừ Applet. Loại 3: Network-Protocol driver • Đây là dạng driver giao thức mạng. Driver này chuyển các lệnh gọi JDBC thành các giao thức mạng độc lập với hệ quản trị CSDL (DBMS Independent Net Protocol). • Chính phần mềm trên máy chủ trung gian này có thể kết nối các máy khánh có nên Java với nhiều loại CSDL khác nhau. • Client -> JDBC Driver -> Network- protocol driver -> Middleware-Net Server -> bất cứ CSDL nào Loại 3: Network-Protocol driver • Ưu điểm: JDBC này rất linh hoạt vì có thể kết nối đến nhiều loại hệ quản trị CSDL khác nhau mà không cần cài đặt driver dưới máy client. • Khuyết điểm: Phụ thuộc nhiều vào nhà cung cấp phần mềm trung gian. • Kết nối thông qua một lớp nữa sẽ có thể dẫn đến tình trạng thắt cổ chai. Nhưng thông thường điều này được khắc phục ở các nhà cung cấp phần mềm trung gian tốt. Loại 4: Native-Protocol driver • Đây là dạng driver với giao thức gốc hoàn toàn Java. Được viết hoàn toàn bằng Java. • Biến các lệnh gọi JDBC thành các giao thức mạng gọi trực tiếp từ hệ quản trị CSDL. • Trình này cho phép gọi trực tiếp từ máy khách đến máy chủ chứa DBMS và là giải pháp thực tế cho việc truy cập Intranet. • Client -> Native-protocol JDBC Driver -> database server. Loại 4: Native-Protocol driver • Ưu điểm: JDBC này không cần chuyển sang lời gọi nào (như ODBC). • Không cần lớp trung gian để liên hệ với các CSDL. • Được viết bằng Java nên hoàn toàn không phụ thuộc nào nền tảng sử dụng. • Cải thiện hiệu suất truy cập. • Khuyết điểm: Cần driver riêng cho từng loại CSDL [...]... hoạt động của JDBC • Chương trình Java tạo một đối tượng kết nối để kết nối với cơ sở dữ liệu • Tạo một đối tượng lệnh (Statement) và chuyển các câu SQL đến CSDL thông qua đối tượng này và nhận kết quả trả về • Một chương trình Java dùng JDBC cần một trình điều khiển cho nguồn dữ liệu mà nó cần giao tiếp • Lưu ý: Các lớp JDBC nằm trong gói java. sql Kiến trúc JDBC Java JDBC Driver SQL command Results... Thiết lập kết nối đến CSDL • • Phương thức: DriverManager.getConnection(url, username, password): – Kết quả trả về là 1 đối tượng Connection – url: chuỗi kết nối có dạng jdbc:subprotocol:subname • subprotocol: giao thức con tương ứng với loại của HQTCSDL • subname: tên của CSDL – username: tên người dùng khi đăng nhập vào CSDL – password: mật khẩu người dùng khi đăng nhập vào CSDL Ví dụ: Connection... phép truy xuất đến cac bảng trong CSDL Giao tiếp trong gói java. sql Giao tiếp ResultSetMetaData Mô tả Một đối tượng dùng để lấy thông tin về loại và thuộc tính cùa các cột trong một đối tượng ResultSet RowId Savepoint Một thể hiện của giá trị cột trong SQL SQLData SQLInput Giao tiếp dùng để ánh xạ kiểu dữ liệu người dùng SQLOutput Luồng dữ liệu xuất cho việc ghi xuống CSDL các thuộc tính của các kiểu... Results Application Server Database Giao tiếp trong gói java. sql Giao diện Array Blob CallableStatement Clob Connection DatabaseMetaData Driver NClob ParameterMetaData Mô tả Kiểu mảng Kiểu dữ liệu Blob Giao diện dùng để thực thi các các hàm đã được cài sẵn (Stored Procedure) Kiểu dữ liệu Clob Một phiên kết nối với CSDL cụ thể Thông tin về toàn bộ CSDL Giao diện mà các trình điều khiển đều phải cài đặt... các giao dịch phân bố XADataSource Là nguồn của đối tượng XAConnection Lớp trong gói javax.sql Lớp ConnectionEvent RowSetEvent StatementEvent Mô tả Chứa sự kiện kết nối Các sự kiện khi có thay đổi trong RowSet Các sự kiện khi một câu lệnh truy vấn được kết nối Sử dụng trình điều khiển JDBC • Thực hiện một kết nối với CSDL: gọi phương thức getConnection() để nhận về đối tượng Connection • Thực hiện các... executeQuery() hoặc executeUpdate() Các bước khi cần truy cập CSDL • Các bước để truy cập CSDL thông qua JDBC: – Đăng ký trình điều khiển JDBC – Thiết lập một nối kết đến cơ sở dữ liệu – Tạo và thực thi câu lệnh SQL – Xử lý các kết quả – Đóng nối kết cơ sở dữ liệu Ví dụ sử dụng JDBC – ODBC Driver Ví dụ sử dụng JDBC - Trình giao thức gốc hoàn toàn Java (SQL Server) Đăng ký trình điều khiển JDBC • Trước khi... còn gọi là kiểu dữ liệu JDBC Ngoại lệ trong gói java. sql Ngoại lệ BatchUpdateException DataTruncation SQLException SQLWarning Mô tả Ngoại lệ xảy ra thi thực thi các bó lệnh Ngoại lệ xảy ra khi có sự cắt bớt dữ liệu lúc đọc hoặc ghi Ngoại lệ khi lỗi trong các câu truy vấn SQL Ngoại lệ cung cấp các thông tin nhắc nhở khi truy cập CSDL Giao tiếp trong gói javax.sql Giao tiếp Mô tả ConnectionEventListener... chứa câu lệnh SQL • Kết quả trả về là một giá trị int mang ý nghĩa là số dòng (mẩu tin) chịu tác động bởi việc thực thi câu lệnh • Thí dụ: int rows = s.executeUpdate( “Delete NHANVIEN Where MANV=‘NV001’” ); Xử lý kết quả - Lớp ResultSet • Một đối tượng ResultSet chứa tập kết quả (dạng bảng) trả về từ việc thực thi 1 câu truy vấn Select – Ban đầu con trỏ chỉ đến trước dòng đầu tiên của tập kết quả trả về... Connection.rollback Luồng dữ liệu nhập chứa các giá trị biểu diễn các kiểu dữ liệu cấu trúc hay phân biệt Đối tượng dùng để thực thi các câu lệnh SQL và nhận về kết quả Mô tả dữ liệu kiểu cấu trúc Lớp trong gói java. sql Lớp Date DriverManager DriverPropertyInfo SQLPermission Time Timestamp Types Mô tả Biểu diễn kiểu DATE Một dịch vụ quản lý bộ các JDBC Driver Chú ý: Giao tiếp DataSource, phần mới trong JDBC 2.0... các đối tượng PooledConnection ce DataSource Là nguồn tạo các đối tượng Connection PooledConnection Đối tượng kết nối cung cấp và quản lý các điểm kết nối chia sẻ RowSet Giao tiếp này hỗ trợ cho mô hình JavaBeans RowSetInternal Đối tượng biểu hiện như một máy đọc hay ghi RowSetListener Giao tiếp này được tạo bởi một thành phần muốn được thông báo các sự kiện đã xảy ra cho một RowSet RowSetMetaData Đối . thức mạng độc lập với hệ quản trị CSDL (DBMS Independent Net Protocol). • Chính phần mềm trên máy chủ trung gian này có thể kết nối các máy khánh có nên Java với nhiều loại CSDL khác nhau. • Client. LÀM VIỆC VỚI CƠ SỞ DỮ LIỆU Nội dung • Khái niệm JDBC • Các bước sử dụng JDBC trong ứng dụng Java • Các đối tượng Statement • ResultSet – ResultSet. driver • Đây là dạng driver với giao thức gốc hoàn toàn Java. Được viết hoàn toàn bằng Java. • Biến các lệnh gọi JDBC thành các giao thức mạng gọi trực tiếp từ hệ quản trị CSDL. • Trình này cho

Ngày đăng: 21/10/2014, 22:06

TỪ KHÓA LIÊN QUAN

w