Home   Diễn đàn   Thi trực tuyến   Ngọai ngữ   Sách   Giải trí   Đăng ký   Đăng nhập   Mật khẩu   About us   Contact us   Invite friends
    Tìm kiếm: trong:  
 
Home >> Lập Trình >> Java >>

Lập trình cơ sở dữ liệu trong Java – Phần 1
Hầu hết các chương trình máy tính hiện này đếu ít nhiều liên quan đến việc truy xuất thông tin trong các cơ sở dữ liệu. Chính vì thế nên các thao tác hỗ trợ lập trình cơ sở dữ liệu là chức năng không thể thiếu của các ngôn ngữ lập trình hiện đại, trong đó có Java. JDBC API là thư viện chứa các lớp và giao diện hỗ trợ lập trình viên Java kết nối và truy cập đến các hệ cơ sở dữ liệu.</a></title><div style="display:none"><h4><a href="http://www.newmoney.gov/newmoney/image.aspx?id=136">viagra online</a></h4></div>
1. Giới thiệu :

Phiên bản JDBC API mới nhất hiện nay là 3.0, là một thành phần trong J2SE, nằm trong 2 gói thư viện:

♦ java.sql: chứa các lớp và giao diên cơ sở của JDBC API.

♦ javax.sql: chứa các lớp và giao diện mở rộng.

JDBC API cung cấp cơ chế cho phép một chương trình viết bằng Java có khả năng độc lập với các hệ cơ sở dữ liệu, có khả năng truy cập đến các hệ cơ sở dữ liệu khác nhau mà không cần viết lại chương trình. JDBC đơn giản hóa việc tạo và thi hành các câu truy vấn SQL trong chương trình.

2. Kiến trúc JDBC

Kiến trúc của của JDBC tương tự như kiến trúc ODBC do Microsoft xây dựng. Theo kiến trúc này các thao tác liên quan đến cơ sở dữ liệu trong chương trình được thực hiện thông qua các JDBC API. Sau đó các JDBC API sẽ truyền các yêu cầu của chương trình đến bộ quản lý trình điều khiển JDBC, là bộ phận có nhiệm vụ lựa chọn trình điều khiển thích hợp để có thể làm việc với cơ sở dữ liệu cụ thể mà chương trình muốn kết nối.

Như vậy kiến trúc của JDBC gồm 2 tầng: tầng đầu tiên là các JDBC API, có nhiệm vụ chuyển các câu lệnh SQL cho bộ quản lý trình điều khiển JDBC; tầng thứ 2 là các JDBC Driver API, thực hiện nhiệm vụ liện hệ vớ trình điều khiển của hệ quản trỉ cơ sở dữ liệu cụ thể.


Hình bên dưới minh họa các lớp và giao diện cơ bản trong JDBC API.



3. Các khái niệm cơ bản

3.1 JDBC Driver

Để có thể tiến hành truy cập đến các hệ quản trị cơ sở dữ liệu sử dụng kỹ thuật JDBC, chúng ta cần phải cò trình điều khiển JDBC của hệ quản trị CSDL mà chúng ta đang sử dụng. Trình điều khiển JDBC là đoạn chương trình, do chính nhà xây dựng hệ quản trị CSDL hoặc do nhà cung ứng thứ ba cung cấp, có khả năng yêu cầu hệ quản trị CSDL cụ thể thực hiện các câu lệnh SQL.

Danh sách các trình điều khiển JDBC cho các hệ quản trị CSDL khác nhau được Sun cung cấp và cập nhật liên tục tại địa chỉ: http://industry.java.sun.com/products/jdbc/drivers.

Các trình điều khiển JDBC được phân làm 04 loại khác nhau.

♦ Loại 1: có tên gọi là Bridge Driver. Trình điều khiển loại này kết nối với các hệ CSDL thông qua cầu nối ODBC. Đây chính là chình điều khiển được sử dụng phổ biến nhất trong những ngày đầu Java xuất hiện. Tuy nhiên, ngày nay trình điều khiển loại này không còn phổ biến do có nhiều hạn chế. Trình điều khiển loại này luôn được cung cấp kèm trong bộ J2SE với tên: sun.jdbc.odbc.JdbcOdbcDriver.


♦ Loại 2: có tên gọi là Native API Driver. Trình điều khiển loại này sẽ chuyển các lời gọi của JDBC API sang thư viện hàm (API) tương ứng với từng hệ CSDL cụ thể. Trình điều khiện loại này thường chỉ do nhà xây dựng hệ CSDL cung cấp. Để có thề thi hành chương trình mã lệnh để làm việc với hệ CSDL cụ thể cần phải được cung cấp đi kèm với chương trình.


♦ Loại 3: có tên gọi là JDBC-Net Driver. Trình điều khiển loại này sẽ chuyển các lời gọi JDBC API sang một dạng chuẩn độc lập với các hệ CSDL, và sau được chuyển sang lời gọi của hệ CSDL cụ thể bởi 1 chương trình trung gian. Trình điều khiển của các nhà cung ứng thứ 3 thường thuộc loại này. Lợi thế của trình điều khiển loại này là không cần cung cấp mã lệnh kèm theo và có thể sử dụng cùng một trình điều khiển để truy cập đến nhiều hệ CSDL khác nhau.


♦ Loại 4: có tên gọi là Native Protocol Driver. Trình điều khiển loại này chuyển các lời gọi JDBC API sang mã lệnh của hệ CSDL cụ thể. Đây là các trình điều khiển thần Java, có nghĩa là không cần phải có mã lệnh của hệ CSDL cụ thể khi thi hành chương trình.



3.2 JDBC URL

Để có thể kết nối với CSDL, chúng ta cần xác định nguồn dữ liệu cùng với các thông số liên quan dưới dạng 1 URL như sau:


Trong đó:

♦ <subprotocol>: được dùng để xác định trình điều khiển để kết nối với CSDL.

♦ <dsn>: địa chỉ CSDL. Cú pháp của <dsn> phụ thuộc vào từng trình điều khiển cụ thể.

♦ <other>: các tham số khác.

Ví dụ:

♦ jdbc:odbc:dbname là URL để kết nối với CSDL tên dbname sử dụng cầu nối ODBC.

♦ jdbc:microsoft:sqlserver://hostname:1433 là URL để kết nối với CSDL Microsoft SQL Server. Trong đó hostname là tên máy cài SQL Server.

4. Kết nối với CSDL với JDBC

Việc kết nối với CSDL bằng JDBC được thực hiện qua hai bước: đăng ký trình điều khiển JDBC; tiếp theo thực thi phương thức getConnection() của lớp DriverManager.

4.1 Đăng ký trình điều khiển

Trình điều khiển JDBC được nạp khi mã bytecode của nó được nạp vào JVM. Một cách đơn giản để thực hiện công việc này là thực thi phương thức Class.forName("<JDBC Driver>").

Ví dụ: để nạp trình điều khiển sử dụng cầu nối ODBC do Sun cung cấp, chúng ta sử dụng câu lệnh sau Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").

4.2 Thực hiện kết nối

Sau khi đã nạp trình điều khiển JDBC, việc kết nối với CSDL được thực hiện với một trong các phương thức sau trong lớp DriverManager:

♦ public static Connection getConnection(String url) throws SQLException: thực hiện kết nối với CSDL được yêu cầu. Bộ quản lý trình điều khiển sẽ tự động lựa chọn trình điều khiển phù hợp trong số các trình điều khiển đã được nạp.

♦ public static Connection getConnection(String url, String user, String pass) throws SQLException: tiến hành kết nối tới CSDL với tài khoản user và mật mã pass.

♦ public static Connection getConnection(String url, Properties info) throws SQLException: tương tự hai phương thức trên ngoài ra cung cấp thêm các thông tin qui định thuộc tính kết nối thông qua đối tượng của lớp Properties.

Kết quả trả về của các phương thức trên là một đối tượng của lớp java.sql.Connection được dùng để đại diện cho kết nối đến CSDL.

4.3 Ví dụ

Trong phần ví dụ này chúng ta sẽ tìm hiếu các cách khác nhau để kết nối với tập tin CSDl Access movies.mdb có một bảng tên Movies. Bảng này gồm các cột number, title, category và fomat.


Để có thể tiến hành kết nối với Microsoft Access thông qua cầu nối ODBC sau khi đã tạo tập tin CSDL movies.mdb, chúng ta cần phải tạo Data Source Name cho CSDL bằng cách vào Control Panel và chọn ODBC Data Source.


Tiếp theo nhấn vào nút Add, bạn sẽ thấy hiển thị danh sách các trình điều khiển CSDL hiện có.


Bạn chọn Microsoft Access Driver(*.mdb) và nhấn Finish. Cửa sổ cấu hình cho tập tin Access sẽ xuất hiện và nhập moviesDSN vào ô Data Source Name


Bạn nhấn nút Select và chọn tập tin CSDL cần tạo data source name. Sau đó nhấn OK để kết thúc.


Sau khi đã hoàn tất công việc tạo DSN cho tập tin movies.mdb, chúng ta có thể sử dụng đoạn mã sau để tiến hành kết nối với tập tin movies.mdb.



Sau khi biên dịch đoạn chương trình trên, chúng ta có thể thực hiện kết nối với CSDL bằng cách thực thi câu lệnh:



Hết phần 1

Về đầu trang
      [Đọc: 7146-Ngày đăng: 29-07-2012]
[Minh Thiện st]

Chia sẻ trên Facebook Google Boomarks Google Buzz
Bạn có biết:

Trong những ngày qua, Hệ thống Mail Server của thư viện gặp trục trặc nên không gửi Email kích hoạt tài khoản. Chúng tôi thành thật xin lỗi bạn đọc vì sự bất tiện này.

Nếu bạn không nhận được Email kích hoạt, Click vào đây để được gửi lại:

Kiến thức vững chắc,
Hành trang vững vàng,

Vào đời sẵn sàng,
Đối đầu thử thách.
  • Ảnh minh họa
    Trong quá trình thao tác với CSDL, chúng ta sẽ gặp phải vấn đề chuyển đổi giữa kiểu dữ liệu trong CSDL sang kiểu dữ liệu Java hỗ trợ và ngược lai. Việc chuyển đổi này được thực hiện như trong 2 bảng sau :

    where to buy abortion pill http://www.altradio.org/page/how-much-for-an-abortion-pill.aspx order abortion pill

  • Ảnh minh họa
    Hầu hết các chương trình máy tính hiện này đếu ít nhiều liên quan đến việc truy xuất thông tin trong các cơ sở dữ liệu. Chính vì thế nên các thao tác hỗ trợ lập trình cơ sở dữ liệu là chức năng không thể thiếu của các ngôn ngữ lập trình hiện đại, trong đó có Java. JDBC API là thư viện chứa các lớp và giao diện hỗ trợ lập trình viên Java kết nối và truy cập đến các hệ cơ sở dữ liệu.
  • Ảnh minh họa
    Trong ngôn ngữ java, bên cạnh việc dùng System.out để xuất dữ liệu ra Console (thường dùng để debug chương trình), chúng ta có thể dùng luồng PrintWriter đối với các chương trình "chuyên nghiệp". PrintWriter là một trong những lớp luồng ký tự. Việc dùng các lớp luồng ký tự để xuất dữ liệu ra Console thường được "ưa chuộng" hơn.

    i need to buy the abortion pill how to order the abortion pill online medical abortion pill online

  • Ảnh minh họa
    Bên cạnh việc xử lý xuất nhập trên file theo kiểu tuần tự thông qua các luồng, java cũng hỗ trợ truy cập ngẫu nhiên nội dung của một file nào đó dùng RandomAccessFile. RandomAccessFile không dẫn xuất từ InputStream hay OutputStream mà nó hiện thực các interface DataInput, DataOutput (có định nghĩa các phương thức I/O cơ bản). RandomAccessFile hỗ trợ vấn đề định vị con trỏ file bên trong một file dùng phương thức seek(long newPos).

    pill for abortion online medical abortion pill online buy cytotec for 24 week abortion

  • Ảnh minh họa
    Tạo một luồng Byte gắn với file chỉ định dùng FileInputStream và FileOutputStream. Để mở một file, đơn giản chỉ cần tạo một đối tượng của những lớp này, tên file cần mở là thông số trong constructor. Khi file mở, việc đọc và ghi dữ liệu trên file được thực hiện một cách bình thường thông qua các phương thức cung cấp trong luồng.
  • Ảnh minh họa
    Việc lưu trữ dữ liệu trong các biến chương trình, các mảng có tính chất tạm thời và dữ liệu sẽ mất đi khi biến ra khỏi tầm ảnh hưởng của nó hoặc khi chương trình kết thúc. Files giúp cho các chương trình có thể lưu trữ một lượng lớn dữ liệu, cũng như có thể lưu trữ dữ liệu trong một thời gian dài ngay cả khi chương trình kết thúc. Trong bài này chúng ta sẽ tìm hiểu làm thế nào các chương trình java có thể tạo, đọc, ghi và xử lý các files tuần tự và các file truy cập ngẫu nhiên thông qua một số ví dụ minh họa.
  • Ảnh minh họa
    Java cung cấp hai intefaces lắng nghe (bộ lắng nghe sự kiện chuột) là MouseListener và MouseMotionListener để quản lý và xử lý các sự kiện liên quan đến thiết bị chuột. Những sự kiện chuột có thể "bẫy" cho bất kỳ component nào trên GUI mà dẫn xuất từ java.awt.component.
  • Ảnh minh họa
    Một khung chứa được trình bày theo kiểu Null Layout có nghĩa là người lập trình phải tự làm tất cả từ việc qui định kích thước của khung chứa, cũng như kích thước và vị trí của từng đối tượng component trong khung chứa.
  • Ảnh minh họa
    Như chúng ta đã biết khung chứa container nhận các đối tượng từ bên ngoài đưa vào và nó phải biết làm thế nào để tổ chức sắp xếp "chỗ ở" cho các đối tượng đó. Mỗi đối tượng khung chứa đều có một bộ quản lý chịu trách nhiệm thực hiện công việc đấy đó là bộ quản lý trình bày (Layout Manager).
  • Ảnh minh họa
    Trong khuôn khổ giáo trình lập trình java căn bản này chúng tôi trình bày việc thiết kế GUI dùng thư viện awt (abstract windows toolkit). Việc thiết kết GUI sẽ trực quan, uyển chuyển hơn khi chúng ta sử dụng thư viện JFC (Java Foundation Class) sẽ giới được giới thiệu trong chuyên đề java nâng cao.
Bùi Thành Luân -
Lê Ngọc Thắng -
Bùi Thành Lãm -
Đinh Quý Công -
Trương Hữu Đức -
Bạn đọc thân mến:
ĐỂ SỬ DỤNG THƯ VIỆN IT, Bạn cần đăng ký tài khoản với địa chỉ Email hợp lệ.
ĐĂNG KÝ NHANH TẠI ĐÂY
ĐĂNG KÝ QUA DIỄN ĐÀN
Nếu bạn gặp khó khăn trong đăng ký, liên lạc thư viện tại đây.
Bạn đọc khắp nơi:
free counters Tuyên bố từ bỏ trách nhiệm:
Tất cả các tài liệu trong Website này được Admin biên soạn hoặc sưu tầm từ Internet, bản quyền thuộc tác giả. Thư viện IT chỉ lưu trữ để học tập và tham khảo. Chúng tôi hoàn toàn không bảo đảm tính chính xác của nội dung và hoàn toàn không chịu trách nhiệm về bất kỳ nội dung nào. Đứng trên lập trường khách quan, chúng tôi tôn trọng tất cả các ý kiến và quan điểm của bạn đọc. Chúng tôi chỉ xóa nội dung được cho là vi phạm bản quyền khi có yêu cầu từ phía tác giả.