Trang 143
Chng 7 LP TRÌNH C S D LIU
I. Tng quan
t ha hn ln ca java là kh nng xây dng các ng dng CSDL c lp vi h
n, công ngh này c bit n vi cái tên JDBC (Java Database Connectivity),
JDBC c thit k tng i n gin.
Mô hình JDBC a ra mt tp các lp và các phng thc giao tip vi ngn d
liu. JDBC API c tích hp vào ngay nn java nên bn không cn phi cài t gì
thêm khi truy cp CSDL.
II. Các ku trình u khin JDBC
Các trình u khin JDBC có th phân thành 4 kiu sau ph thuc vào cách thc
hot ng, cách kt ni vi CSDL.
Kiu 1 : JDBC s dng cu ni ODBC (JDBC-ODBC Bridge )
ODBC là mt công ngh ca Microsoft dùng kt ni n các h c s d liu
thông qua trình u khin Driver ca h c s d liu ó. Mi h c s d liu cung
p mt trình u khin (Driver) có kh nng làm vic (c, cp nht,..) c c s
liu ca chúng . Trình u khin này sc ng ký vi b qun lý ODBC .
ODBC API là mt tp các hàm API truy cp vào CSDL thông qua các trình u
khin, ngi lp trình s s dng các hàm API trong giao din này truy cp vào
CSDL.
u ni JDBC – ODBC là mt trình u khin s dng mã java gi li các hàm
trong JDBC API. Bng cách này bn có th kt ni c vi nhiu h qun tr c s
liu khác nhau.
có th kt ni vào mt h CSDL c th nào ó (chng hn nh: Access, SQL
Server, MySQL…) s dng cu ni JDBC-ODBC bn cn phi có:
- Trình u khin (Driver) ca dùng truy cp vào h CSDL ó. Thông thng
trình u khin này c cung cp bi chính các hãng sn xut h CSDL và nó
thng c cài t vào trong máy khi bn cài t h qun tr CSDL.
- Cu ni JDBC-ODBC, ây là trình u khin c cung cp min phí bi hãng
Sun và nó c cài t tng khi bn cài t JDK.
Trang 144
JDBC Driver
Database driver
Mã
JAVA
Mã Native
{
{
Database
Mô hình kt ni trc tip
Java Application ,
Applet , Servlet
JDBC Driver
Java Middle Ware
Java Native driver
Database
Mã
JAVA
Mã JAVA
{
{
M¹ng
Trang 146
Kiu này cho phép máy khách s dng trình u khin gn nh ni kt trc tip vào trình
u khin c s d liu c thù trên máy ch xa thông qua mng Internet .
III. Các lp trong JDBC API dùng truy cp CSDL
JDBC API bao gm các lp và các giao din c cha trong hai gói: java.sql và
javax.sql. Gói java.sql cha các giao din và gói cho phép ta thc hin các thao tác c bn
i vi CSDL, gói javax.sql cha các lp và giao din giúp ta thc hin các tính nng cao
p.
1. Mt s giao din và lp trong gói java.sql
Time p biu din kiu DATE
Types p nh ngha các hng tng ng vi các kiu d liu SQL, hay
còn gi là kiu d liu JDBC
2. Mt s lp và giao din trong gói javax.sql
Tham kho tài liu v JDBC
IV. Kt ni CSDL vi JDBC
có th làm vic vi CSDL, mt chng trình java (hay bt c chng trình vit
ng ngôn ng nào khác) phi tuân theo các bc sau:
kt ni n CSDL.
Thc hin các lnh làm vic vi CSDL nh: truy vn, cp nht…
óng kt ni, gii phóng tài nguyên.
Các bc xây dng mt ng dng CSDL vi JDBC:
1. Chun b
a) Cài t JDBC và trình u khin:
Mt ng java ch có th kt ni và làm vic c vi d liu trong CSDL thông qua
các trình u khin và các th vin JDBC API.
Trc khi truy cp vào h CSDL nào bn phi có trong tay trình u khin tng
ng vi h CSDL ó. Bn có th download các trình u khin cho mt s h CSDL quen
thuc ta ch java.sun.com/jdbc
b) Cài t CSDL
Bn cn la chn và cài t mt h qun tr CSDL, qun tr phn d liu ca
chng trình. ây là la chn ca bn tu theo tính cht ca d liu trong chng trình
ng nh mc tin bn có có th mua c h qun tró.
Sau khi bn la chn c h qun tr CSDL phù hp bn tin hành cài t CSDL:
o bng, view, th tc lu tr..
Chú ý: có th truy cp vào CSDL ca h qun tr CSDL nào thì bn phi có trong
tay trình u khên tng ng.
2. Thit lp kt ni
ây là bc quan trng nht bao gm hai bc:
Trang 148
t vài ví du:
Ví d 1:
Np trình u khên và kt ni n CSDL ca MySQL
Trang 149
Trình u khên tury cp vào CSDL ca MySQL, bn có th download ti a ch
MySQL.com, sau khi download bn có mt tp tin duy nht ã c nén theo chun jar, t
classpath trn tp tin này
- Np tình u khin ca MySQL
Class.forName("com.mysql.jdbc.Driver");
- Kt ni n CSDL
Connection conn = DriverManager.getConnection(
"jdbc:mysql://ServrName/DBName?user=UserName&password=Pass");
- ServerName: là tên ca máy ch CSDL
- DBName: là tên ca CSDL
- UserName: là tên truy cp CSDL
- Pass: là mt khu truy cp
Ví d 2: Np trình u khên và kt ni n CSDL ca SQL Server 7.0, 2000
Có rt nhiu trình u khin cho MS SQL Server, a phn các trình u khin u là các
n phm thng mi, có mt trình u khin mà ta nên s dng ó là trình u khin do
chính hãng Microsoft cung cp, trình u khin này hoàn toàn Free và h try các
tính nng ca Sql Server.
- a ch download www.microsoft.com
- Sau khi download và tin hành cài t bn s có 3 tp tin trong th mc cài t:
install_dir/lib/msbase.jar
install_dir/lib/msutil.jar
install_dir/lib/mssqlserver.jar
install_dir: là th mc cài t
- t classpath trn 3 tp tin trên
- Np trình u khin
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
}
Ví d 3: Np trình u khên và kt ni n CSDL ca Access vi cu ni JDBC-ODBC
a Sun System
truy cp vào CSDL ca Access ta không cn phi ti xung và cài t vào máy driver
nào c vì nó c tích hp vào Java, trình u khin này do sun cung cp nó có tên là cu
i JDBC-ODBC
- Np trình u khin
Class.forName("sun.jdbc.odbc. JdbcOdbcDriver ");
- M kt ni bng cách s dng DataSource Name
+ Vào control panel chy chng trình ODBC DataSource 32 bit
+ To mt DataSource Name có tên là MyDB
Connection conn = DriverManager.getConnection(" jdbc:odbc:MyDB");
- M kt ni bng cách s dng File DataSource
Connection conn = DriverManager.getConnection(“jdbc:odbc:Driver={Microsoft
Access Driver (*.mdb)};DBQ=C:/Path/DatabaseName.mdb";”)
MyDB: tên ca DataSource Name mà bn ã to
Path: ng dn n CSDL