1. Trang chủ
  2. » Thể loại khác

ket noi jdbc voi database

4 157 0

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 4
Dung lượng 254,4 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Kết nối JDBC với cơ sở dữ liệu Chương này, chúng ta cùng tìm hiểu các bước chung để thiết lập một kết nối JDBC với một Database nào đó.. Bạn có thể tìm hiểu cách import lib trong Java bở

Trang 1

Kết nối JDBC với cơ sở dữ liệu

Chương này, chúng ta cùng tìm hiểu các bước chung để thiết lập một kết nối JDBC với một Database nào đó Trong hai chương tiếp theo, chúng ta sẽ tìm hiểu chi tiết về cách kết nối với Oracle Database và MySQL

Bước 1: Import các package

Bạn thêm lệnh import trong chương trình Java để bao các lớp cần thiết

Bước 2: Đăng ký JDBC driver Bạn có thể tìm hiểu cách import lib trong Java bởi link

sauvietjack.com/java_jdbc/cach_them_file_jar_lib_trong_java.jsp

Bước này làm JVM tải trình triển khai driver cụ thể vào trong bộ nhớ để nó có thể thực hiện các yêu cầu JDBC của bạn

Bước 3: Tạo địa chỉ Database URL chính xác

Bước này rất quan trọng và thường xuất hiện khá nhiều lỗi trong khi bạn tạo một địa chỉ thích hợp để trỏ tới Database mà bạn muốn kết nối

Bước 4: Tạo đối tượng Connection

Bạn gọi phương thức getConnection() của đối tượng DriverManager để thành lập kết nối

tới cơ sở dữ liệu thực sự

Phần dưới đây trình bày chi tiết về các bước trên

Bước 1: Import các JDBC package

Lệnh import nói cho Java Compiler nơi để tìm các lớp mà bạn muốn tham chiếu trong code

và lệnh này được đặt ở phần đầu tiên của code

Để sử dụng JDBC package chuẩn để cho phép bạn chọn, cập nhật và xóa dữ liệu trong các bảng SQL, bạn thêm các dòng sau:

import java sql * // cho cac chuong trinh JDBC chuan import java math * //

de ho tro BigDecimal va BigInteger

Trang 2

Bước 2: Đăng ký JDBC driver

Trước khi sử dụng bất kỳ driver nào, bạn cần đăng ký nó Trong chương trình, bạn chỉ cần thực hiện một lần tiến trình đăng ký này, theo một trong hai cách sau:

Sử dụng phương thức Class.forName()

Sử dụng phương thức Class.forName() là hướng tiếp cận chung và phổ biến để đăng ký

một driver Dưới đây là cú pháp:

public static void Class forName ( String ten_lop ) throws ClassNotFoundException

Ví dụ, để đăng ký Oracle driver, bạn sử dụng mẫu sau:

try Class forName ( "oracle.jdbc.driver.OracleDriver" ) newInstance ();

catch ( ClassNotFoundException ex ) { System out println ( "Error: khong the tai

System out println ( "Error: xuat hien van de truy cap trong khi tai!" );

System exit ( ); catch ( InstantiationException ex ) {

System out println ( "Error: khong the thuyet minh Driver!" ); System exit ( ); }

Sử dụng DriverManager.registerDriver()

Nếu bạn đang sử dụng một JDK không tuân theo JVM (được cung cấp bởi Microsoft chẳng

hạn), thì bạn nên sử dụng phương thức DriverManager.registerDriver() này Ví dụ:

try Driver myDriver = new oracle jdbc driver OracleDriver ();

DriverManager registerDriver ( myDriver ); catch ( ClassNotFoundException ex ) { System out println ( "Error: khong the tai lop Driver!" ); System exit ( );

Bước 3: Tạo địa chỉ Database URL chính xác

Đây là địa chỉ trỏ tới cơ sở dữ liệu của bạn Việc tạo một địa chỉ Database URL chính xác là rất quan trọng, và đây thường là bước hay xuất hiện lỗi trong khi thành lập một kết nối Bảng dưới đây liệt kê một số tên JDBC driver và Database URL phổ biến:

Trong đó, hostname là tên server mà cơ sở dữ liệu đang chạy (có thể là localhost hoặc địa chỉ IP của bạn); port Number là số hiệu cổng và databaseName là tên của cơ sở dữ liệu

Trang 3

ORACLE oracle.jdbc.driver.OracleDriver jdbc:oracle:thin:@hostname:port

Number:databaseName

Number/databaseName

Number/databaseName

Phần in đậm là phần bạn không nên thay đổi, bạn chỉ cần thay đổi phần còn lại theo yêu cầu của bạn

Bước 4: Tạo đối tượng Connection

Sau khi đã tải driver, bạn có thể thiết lập một kết nối bởi sử dụng phương thức DriverManager.getConnection() Phương thức này có ba mẫu:

Mẫu 1: getConnection(String url)

Mẫu phương thức này chỉ yêu cầu một Database URL Tuy nhiên, trong trường hợp này, Database URL cũng đã bao cả username và password

Ví dụ: giả sử bạn đang sử dụng Thin driver của Oracle, với host name là vietjack, cổng là

3306 và tên cơ sở dữ liệu là sinhvien, thì Database URL sẽ là:

jdbc : oracle : thin : username / password@vietjack : 3306 : sinhvien

Do đó, kết nối trên có thể được tạo như sau:

String URL = "jdbc:oracle:thin:username/password@vietjack:3306:sinhvien" ;

Connection conn = DriverManager getConnection ( URL );

Mẫu 2: getConnection(String url, Properties info)

Mẫu phương thức này yêu cầu một Database URL và một đối tượng Properties Một đối tượng Properties giữ một tập hợp các cặp key-value Mẫu này được sử dụng để truyền các thuộc tính tới driver trong một lời gọi tới phương thức getConnection()

Để tạo kết nối như ví dụ trên, bạn sử dụng:

import java util *; String URL = "jdbc:oracle:thin:@vietjack:3306:sinhvien" ; Properties info = new Properties ( ); info put ( "user" , "username" ); info put (

Trang 4

"password" , "password" ); Connection conn = DriverManager getConnection ( URL , info );

Mẫu 3: getConnection(String url, String user, String password)

Đây là mẫu được sử dụng phổ biến nhất Bạn sử dụng phương thức này để truyền một Database URL, một username và một password

Cũng sử dụng ví dụ trên, bây giờ bạn phải gọi phương thức getConnection() này với username và password chính xác để nhận được một đối tượng Connection như sau:

String URL = "jdbc:oracle:thin:@vietjack:3306:sinhvien" ; String USER =

"username" ; String PASS = "password" Connection conn =

DriverManager getConnection ( URL , USER , PASS );

Đóng kết nối JDBC

Garbage Collector của Java sẽ đóng kết nối khi nó thực hiện tiến trình xóa các đối tượng

đã cũ Tuy nhiên, sau khi đã thực hiện xong tác vụ với Database, bạn nên đóng tất cả kết nối tới cơ sở dữ liệu Bước thực hành này là cần thiết và thực sự tốt, vì đôi khi việc quá tin tưởng vào trình dọn rác sẽ gây ra những hậu quả không mong muốn

Để bảo đảm rằng một kết nối đã được đóng, bạn có thể cung cấp một khối finally trong

phần code Khối finally luôn luôn được thực thi, nếu không thì một exception sẽ xuất hiện

Để đóng kết nối đã mở ở trên, bạn nên gọi phương thức close() có cú pháp như sau: public void conn close () throws SQLException

Ngày đăng: 02/12/2017, 23:03

TỪ KHÓA LIÊN QUAN

w