ĈҤI HӐC ĈÀ NҸNG
75Ѭ
ӠNG ĈҤI HӐC SѬ PHҤM
KHOA TIN HӐC
Ĉ͉tài:
XÂY DӴNG HӊTHӔNG QUҦ1/éĈ,
ӆM
CHO HӐC SINH
*LiRYLrQK˱
ͣng d̳
n
7K6/r9ăQ0
ӻ
Sinh viên thc hi͏
n
: Hoàng ThӏThu Ngӑc
Lͣp
: 10CNTT4
Ĉj1
ҹng, 05/2014
;k\GӵQJKӋWKӕQJTXҧQOêÿLӇPFKRKӑF
*9+'7K6/r9ă
/Ӡ,0ӢĈҪ8
Trong nhӳQJQăPJ
ҫ
Qÿk\FQJY
ӟi sӵphát triӇ
n cӫ
a xã hӝ
i và nӅ
n kinh tӃthӏ
WUѭ
ӡng, viӋ
c quҧ
n lý ngày càng trӣQrQNKyNKăQYjSK
ӭc tҥ
p. Mһ
t khác, vӟLFiFFѫ
quan, xí nghiӋ
p, cơng tác quҧ
QÿyQJP
ӝt vai trị rҩ
t quan trӑng. Chính vì thӃmà
vҩ
Qÿ
Ӆquҧ
QQKѭWK
Ӄnào, quҧ
n lý ra sao cho có hiӋ
u quҧnhҩ
WOX{Qÿѭ
ӧFÿ
һ
t lên
KjQJÿ
ҫ
u. Ngày nay, khi công nghӋthông tin phát triӇ
n, viӋ
c áp dөng các thành tӵu
công nghӋthông tin vào công tác quҧ
QOêÿDQJÿѭ
ӧFÿ
ҭ
y mҥ
QKWKHRÿyFy
ҩ
t nhiӅ
u
các phҫ
n mӅ
m quҧ
n lý ӣnhiӅ
XOƭQKY
ӵFNKiFQKDXÿѭ
ӧFUDÿ
ӡi.
Vӟi mong muӕQÿѭ
ӧc sӱdөng nhӳng kiӃ
n thӭFÿmK
ӑc cùng vӟi sӵKѭ
ӟng dү
n
cӫa thҫ
y 7K6/r
Ϳ
, em
9ăQ
ÿm
ӵc0
WK
hiӋ
Q
Ӆÿ
tài ³;k\
ng h͏th͙
G ng qu̫n lý
ÿL
͋
m cho h͕
FVLQK´
. Mө
FÿtFKF
ӫ
Dÿ
Ӆtài này nhҵ
m phөc vөcông tác quҧ
QOêÿL
Ӈ
m
và quҧ
n lý hӑc sinh ӣFiFWUѭ
ӡng trung hӑc phәWK{QJÿѭ
ӧc dӉdàng và tiӋ
n lӧLKѫQ
697++RjQJ7K͓7KX1J͕F
±/ͣS
10CNTT4
;k\GӵQJKӋWKӕQJTXҧQOêÿLӇPFKRKӑF
*9+'7K6/r9ă
/Ӡ,&Ҧ0Ѫ1
ĈӇKRjQ WKjQK
ӧF
Ӆÿ
tài ³;k\
ÿѭng h͏
G th͙
ng qu̫
Q Oê
͋
m cho
ÿL
h͕F VLQK´
Qj\HPÿmQK
ұ
Qÿѭ
ӧc nhiӅ
u sӵJL~Sÿ
ӥvà ý kiӃ
QÿyQJJySTXêEiX
ӫ
a thҫ
y giáo
7K6/r9ăQ0
Ϳ
.
Em xin bày tӓlòng biӃ
W ѫQ
ҳ
c VkX
tӟi thҫ
y giáo
V 7K6 /r
ͿQJѭ
9ăQ
ӡL ÿm
0
Kѭ
ӟng dү
QYjJL~Sÿ
ӥem rҩ
t nhiӋ
t tình trong thӡi gian qua.
Em xin chân thành cҧ
PѫQFiFWK
ҫ
y cô giáo Khoa Tin h͕c ÿmG
ҥ
y dӛvà truyӅ
n
ÿ
ҥ
t cho em nhӳng kiӃ
n thӭc, kinh nghiӋ
m TXê EiX
Ӈgóp phҫ
ÿ
n hồn thiӋ
Q
Ӆÿ
tài
này.
Sinh viên thӵc hiӋ
n
Hoàng ThӏThu Ngӑ
c
697++RjQJ7K͓7KX1J͕F
±/ͣS
10CNTT4
;k\GӵQJKӋWKӕQJTXҧQOêÿLӇPFKRKӑF
*9+'7K6/r9ă
/Ӡ,&$0Ĉ2$1
(P[LQFDPÿRDQ
1. Nhӳng nӝi dung trong báo cáo này là do em thӵc hiӋ
QGѭ
ӟi sӵKѭ
ӟng dү
n trӵc
tiӃ
p cӫa thҫ
y /r9ăQ0
Ϳ
.
2. Mӑi tham khҧ
RGQJWURQJEiRFiRQj\ÿ
Ӆ
Xÿѭ
ӧc trích dү
n rõ ràng tên tác giҧ
,
tên cơng trình, thӡLJLDQYjÿ
ӏ
DÿL
Ӈ
m cơng bӕ
.
3. Mӑi sao chép khơng hӧp lӋ
, vi phҥ
m quy chӃÿjR
ҥ
o, hay
W gian trái, em xin
chӏ
u hoàn toàn trách nhiӋ
m.
Sinh viên thӵc hiӋ
n
Hoàng ThӏThu Ngӑc
697++RjQJ7K͓7KX1J͕F
±/ͣS
10CNTT4
;k\GQJKWKQJTXQOờLPFKRKF
*9+'7K6/r9
0&/&
/,08
/,&01
/,&$02$1
0&/&
'$1+0&&ẩ&%1*
'$1+0&&ẩ&+ẻ1+9
'$1+0
&&ẩ&79,777
3+1*,,7+,87ơ,
................................................................................. 1
1.1. Lý do chQ
ti: ..........................................................................................1
1.2. M
FtFK
ti: .............................................................................................1
1.3.
LW
ng v phҥ
m vi nghiên cӭu: ................................................................1
1.3.1. Ĉӕ
LWѭ
ӧng: ..................................................................................................1
1.3.2. Phҥ
m vi nghiên cӭu: ...................................................................................1
1.4. 3KѭѫQJSKiSQJKLrQF
ӭu: ..............................................................................1
1.5. éQJKƭDNKRDK
ӑc và thӵc tiӉ
n cӫ
Dÿ
Ӆtài: .....................................................2
1.6. Cҩ
u trúc bài khóa luұ
n: ..................................................................................2
3+Ҫ11Ӝ,'81*Ĉӄ7¬,
................................................................................... 3
&+ѬѪ1*&Ѫ6Ӣ/é7+8<ӂ7
........................................................................... 3
1.1. Giӟi thiӋ
u vӅngơn ngӳlұ
p trình Java: ..........................................................3
1.1.1. Java là gì? ...................................................................................................3
1.1.2. &iFÿ
һ
FÿL
Ӈ
m nә
i bұ
t cӫ
a ngơn ngӳlұ
p trình Java:....................................3
1.1.3. Các ӭng dөng cӫa Java: ..............................................................................5
1.2. JDBC và kӃ
t nӕLFѫV
ӣdӳliӋ
u: ......................................................................6
697++RjQJ7K͓7KX1J͕F
±/ͣS
10CNTT4
;k\GӵQJKӋWKӕQJTXҧQOêÿLӇPFKRKӑF
*9+'7K6/r9ă
1.2.1. JDBC là gì? ................................................................................................6
1.2.2. KiӃ
n trúc JDBC: .........................................................................................6
1.2.3. &iFEѭ
ӟc kӃ
t nӕ
i JDBC API: .....................................................................7
1.3. Mơ hình MVC trong lұ
SWUuQKKѭ
ӟQJÿ
ӕLWѭ
ӧng:.........................................10
&+ѬѪ1*3+Ỉ17Ë&+7+,ӂ7.ӂ+ӊ7+Ӕ1*
............................................... 12
2.1. Thӵc trҥ
ng quҧ
QOêÿL
Ӈ
m cho hӑc sinh và các yêu cҫ
u chӭFQăQJ
.............12
2.2. &iFTX\ÿ
ӏ
nh chung trong viӋ
FWtQKÿL
Ӈ
m cho hӑc sinh: .............................12
2.2.1. Các hình thӭc kiӇ
m tra, loҥ
i bài và hӋsӕÿL
Ӈ
m bài kiӇ
m tra: ...................12
2.2.2. &iFKWtQKÿL
Ӈ
m cӫa mӛi môn hӑc, mӛi hӑc kǤ
, cҧQăPK
ӑc: ...................13
2.2.3. &iFKÿiQKJLiYj[
Ӄ
p loҥ
i hӑ
c lӵc: ..........................................................13
2.3. Yêu cҫ
u chӭFQăQJF
ӫ
a hӋthӕng: ................................................................13
2.4. Yêu cҫ
u vӅphҫ
n mӅ
m: ................................................................................14
2.4.1. Yêu cҫ
u vӅcơng cөlұ
p trình: ...................................................................14
2.4.2. u cҫ
u vӅphҫ
n mӅ
m: .............................................................................14
2.5. Ĉһ
c tҧchӭFQăQJF
ӫ
a phҫ
n mӅ
m: ................................................................15
2.5.1. Mӣÿ
ҫ
u: ....................................................................................................15
2.5.2. Mô tҧcác tác nhân (Actor) có trong hӋthӕng: ........................................15
2.5.3. Mơ tҧUse ±Case cӫ
a hӋthӕ
ng: ...............................................................16
2.5.4. 6ѫÿ
ӗUse ±Case tәng quát: ....................................................................18
2.5.5. Ĉһ
c tҧcác Use ±Case: .............................................................................20
2.5.5.1.
Use ±&DVH³ĈăQJQK
ұ
S´
.....................................................................20
2.5.5.2.
Use ±&DVH³ĈăQJ[X
ҩ
W´
......................................................................21
2.5.5.3.
Use ±&DVH³4X
ҧ
QOêQJѭ
ӡLGQJ´
.......................................................21
2.5.5.4.
Use ±&DVH³4X
ҧ
n lý hӑFVLQK´
...........................................................23
2.5.5.5.
Use ±&DVH³4X
ҧ
QOêÿL
Ӈ
P´
.................................................................24
697++RjQJ7K͓7KX1J͕F
±/ͣS
10CNTT4
;k\GӵQJKӋWKӕQJTXҧQOêÿLӇPFKRKӑF
*9+'7K6/r9ă
2.5.5.6.
Use ±&DVH³4X
ҧ
n lý lӟp hӑ
F´
.............................................................26
2.5.5.7.
Use ±&DVH³;HPP{QK
ӑF´
................................................................28
2.5.5.8.
Use ±&DVH³;HPE
ҧ
QJÿL
Ӈ
P´
.............................................................28
2.5.5.9.
Use ±&DVH³6
ӱDÿ
әL´
..........................................................................29
2.5.5.10.
Use ±&DVH³7U
ӧJL~S´
.....................................................................31
2.6. &ѫV
ӣdӳliӋ
u cӫ
a hӋthӕ
ng: .........................................................................31
/ѭ
ӧFÿ
ӗquan hӋgiӳa các bҧ
QJWURQJFѫV
ӣdӳliӋ
u: ................................31
2.6.2. Phân tích dӳliӋ
u tӯng bҧ
ng: .....................................................................31
&+ѬѪ1**,$2',ӊ1
&Ӫ$+ӊ7+Ӕ1*
......................................................... 39
3.1. Giao diӋ
Q³ĈăQJQK
ұ
S´
...............................................................................39
3.2. Giao diӋ
Q³ĈăQJNê´
...................................................................................40
3.3. Giao diӋ
Q³1K
ұ
p thông tin hӑFVLQK´
..........................................................41
3.4. Giao diӋ
Q³&K
Ӎ
nh sӱa thông tin hӑFVLQK´
..................................................42
3.5. Giao diӋ
Q³;yDWK{QJWLQK
ӑ
FVLQK´
............................................................43
3.6. Giao diӋ
Q³1K
ұ
SÿL
Ӈ
P´
...............................................................................44
3.7. Giao diӋ
Q³&K
Ӎ
nh sӱDÿL
Ӈ
P´
.......................................................................45
;yDÿL
Ӈ
m: .....................................................................................................46
3.9. Giao diӋ
Q³7
ҥ
o lӟp hӑc mӟL´
......................................................................47
3.10. Giao diӋ
Q³&K
Ӎ
nh sӱa thông tin lӟp hӑF´
...................................................48
3.11 Giao diӋ
Q³;yDO
ӟp hӑ
F´
.............................................................................49
3.12. Giao diӋ
Q³7UDF
ӭu thông tin lӟp hӑF´
.......................................................50
3.13. Giao diӋ
Q³7UDF
ӭu hӑ
FVLQK´
.....................................................................51
3.14. Giao diӋ
Q³7UDF
ӭu danh sách hӑ
c sinh theo lӟS´
......................................52
3.15. Giao diӋ
Q³;HPE
ҧ
QJÿL
Ӈ
m môn hӑF´
........................................................53
3.16. Giao diӋ
Q³;HPE
ҧ
QJÿL
Ӈ
m hӑc kǤ
´
...........................................................54
697++RjQJ7K͓7KX1J͕F
±/ͣS
10CNTT4
;k\GӵQJKӋWKӕQJTXҧQOêÿLӇPFKRKӑF
*9+'7K6/r9ă
3.17. Giao diӋ
Q³;HPE
ҧ
QJÿL
Ӈ
m cҧQăP´
..........................................................55
3.18. Giao diӋ
Q³;HPE
ҧ
QJÿL
Ӈ
m tҩ
t cҧFiFP{Q´
...............................................56
3.19. Giao diӋ
Q³6
ӱDÿ
әi hӋsӕÿL
Ӈ
P´
..................................................................57
3.20. Giao diӋ
Q³7
ҥ
o thêm khӕ
i lӟS´
...................................................................58
3.21. Giao diӋ
Q³+ѭ
ӟng dү
n sӱdө
QJ´
.................................................................59
3.22. Giao diӋ
Q³&K
Ӎ
nh sӱDWK{QJWLQQJѭ
ӡLGQJ´
.............................................60
3.23. Giao diӋ
Q³;yDWjLNKR
ҧ
QQJѭ
ӡLGQJ´
......................................................61
3+Ҫ1.ӂ7/8Ұ1
............................................................................................... 62
7¬,/,ӊ87+$0.+Ҧ2
........................................................................................ 63
697++RjQJ7K͓7KX1J͕F
±/ͣS
10CNTT4
;k\GӵQJKӋWKӕQJTXҧQOêÿLӇPFKRKӑF
*9+'7K6/r9ă
'$1+0Ө&&È&%Ҧ1*
STT
Tên bҧ
ng
Mô tҧ
1
Bҧ
ng 2.1
2
Bҧ
ng 2.2
Mô tҧcác tác nhân cӫa hӋthӕng
3
Bҧ
ng 2.3
Mô tҧUse case
4
Bҧ
ng 2.4
Bҧ
ng Hӑ
c sinh
5
Bҧ
ng 2.5
DӳliӋ
u bҧ
ng Hӑ
c sinh
6
Bҧ
ng 2.6
Bҧ
ng Lӟp
7
Bҧ
ng 2.7
DӳliӋ
u bҧ
ng Lӟp
8
Bҧ
ng 2.8
Bҧ
ng Khӕ
i
9
Bҧ
ng 2.9
DӳliӋ
u bҧ
ng Khӕ
i
10
Bҧ
ng 2.10
Bҧ
ng Môn hӑ
c
11
Bҧ
ng 2.11
DӳliӋ
u bҧ
ng Môn hӑc
12
Bҧ
ng 2.12
Bҧ
ng Hӑc kǤ
13
Bҧ
ng 2.13
DӳliӋ
u bҧ
ng Hӑc kǤ
14
Bҧ
ng 2.14
Bҧ
ng Bҧ
QJÿL
Ӈ
m
15
Bҧ
ng 2.15
DӳliӋ
u bҧ
ng Bҧ
QJÿL
Ӈ
m
16
Bҧ
ng 2.16
Bҧ
QJ4X\ÿ
ӏ
nh
17
Bҧ
ng 2.17
DӳliӋ
u bҧ
QJ4X\ÿ
ӏ
nh
18
Bҧ
ng 2.18
Bҧ
QJ1Jѭ
ӡi dùng
19
Bҧ
ng 2.19
DӳliӋ
u bҧ
QJ1Jѭ
ӡi dùng
Các chӭFQăQJF
ӫa hӋthӕng quҧ
QOêÿL
Ӈ
m
697++RjQJ7K͓7KX1J͕F
±/ͣS
10CNTT4
;k\GӵQJKӋWKӕQJTXҧQÿLӇPFKRKӑF
*9+'7K6/r9ă
'$1+0Ө&&È&+Ỵ1
+9Ӏ
STT
Tên hình
Mơ tҧ
1
Hình 1.1
Mơ hình MVC
2
Hình 2.1
6ѫÿ
ӗUse case tәng qt cӫ
a HiӋ
XWUѭ
ӣng, hiӋ
u phó
3
Hình 2.2
6ѫÿ
ӗUse case tәng qt cӫ
a Giáo vө
4
Hình 2.3
6ѫÿ
ӗUse case tәng quát cӫ
a Hӑ
c sinh
5
Hình 2.4
6ѫÿ
ӗUse case tәng quát cӫ
a Giáo viên
6
Hình 3.1
Giao diӋ
n ÿăQJQK
ұ
p.
7
Hình 3.2
Giao diӋ
n ÿăQJNê
8
Hình 3.3
Giao diӋ
n nhұ
p thơng tin hӑc sinh
9
Hình 3.4
Giao diӋ
n chӍ
nh sӱa thơng tin hӑc sinh
10
Hình 3.5
Giao diӋ
n xóa thơng tin hӑc sinh
11
Hình 3.6
Giao diӋ
n nhұ
SÿL
Ӈ
m
12
Hình 3.7
Giao diӋ
n chӍ
nh sӱDÿL
Ӈ
m
13
Hình 3.8
Giao diӋ
Q[yDÿL
Ӈ
m.
14
Hình 3.9
Giao diӋ
n tҥ
o lӟp hӑc mӟi
15
Hình 3.10
Giao diӋ
n chӍ
nh sӱa thơng tin lӟp hӑc
16
Hình 3.11
Giao diӋ
n xóa lӟp hӑ
c
17
Hình 3.12
Giao diӋ
n tra cӭu thơng tin lӟp hӑc
18
Hình 3.13
Giao diӋ
n tra cӭu hӑc sinh
19
Hình 3.14
Giao diӋ
n tra cӭu danh sách hӑc sinh theo lӟp.
20
Hình 3.15
Giao diӋ
n xem bҧ
QJÿL
Ӈ
m mơn hӑc
21
Hình 3.16
Giao diên xem bҧ
QJÿL
Ӈ
m hӑc kǤ
697++RjQJ7K͓7KX1J͕F
±/ͣS
10CNTT4
;k\GӵQJKӋWKӕQJTXҧQOêÿLӇPFKRKӑF
*9+'7K6/r9ă
22
Hình 3.17
Giao diӋ
n xem bҧ
QJÿL
Ӈ
m cҧQăP
23
Hình 3.18
Giao diӋ
n xem bҧ
QJÿL
Ӈ
m tҩ
t cҧcác mơn hӑc
24
Hình 3.19
Giao diӋ
n sӱDÿ
әi hӋsӕÿL
Ӈ
m
25
Hình 3.20
Giao diӋ
n thêm khӕi lӟp
26
Hình 3.21
Giao diӋ
QKѭ
ӟng dү
n sӱdөng
27
Hình 3.22
Giao diӋ
n chӍ
nh sӱDWK{QJWLQQJѭ
ӡi dùng
28
Hình 3.23
Giao diӋ
n xóa tài khoҧ
QQJѭ
ӡi dùng
697++RjQJ7K͓7KX1J͕F
±/ͣS
10CNTT4
;k\GӵQJKӋWKӕQJTXҧQOêÿLӇPFKRKӑF
*9+'7K6/r9ă
'$1+0Ө&&È&7Ӯ9,ӂ77Ҳ
1JKƭD
STT
TӯviӃ
t tҳt
1
DM
ĈL
Ӈ
m kiӇ
m tra miӋ
ng
2
D1T
ĈL
Ӈ
m kiӇ
m tra 1 tiӃ
t
3
D15
ĈL
Ӈ
m kiӇ
m tra 15 phút
4
DCK
ĈL
Ӈ
m kiӇ
m tra cuӕ
i kǤ
5
DTBM
ĈL
Ӈ
m trung bình mơn hӑc
6
DTBMCN
7
DTBM KI
ĈL
Ӈ
m trung bình mơn kǤI
8
DTBM KI
ĈL
Ӈ
m trung bình mơn kǤII
9
DTBHK
ĈL
Ӈ
m trung bình tҩ
t cҧcác mơn trong 1 hӑc kǤ
10
DTBCN
ĈL
Ӈ
m trung bình mơn cҧQăP
ĈL
Ӈ
m trung bình tҩ
t cҧFiFP{QWURQJ
ӑ
c
697++RjQJ7K͓7KX1J͕F
±/ͣS
10CNTT4
;k\GӵQJKӋWKӕQJTXҧQÿLӇPFKRKӑF
*9+'7K6/r9ă
3+Ҫ
N 1*,Ӟ,7+,ӊ8Ĉӄ7¬,
1.1.
/êGRFKӑQÿӅWjL
Ngày nay, khi cơng nghӋWK{QJ
ng WLQ
phát triӇ
nÿD
mҥ
nh mӁ
, viӋ
F ÿѭD
ҧ
n FiF
phҭ
m công nghӋthông tin vào viӋ
c quҧ
QOêÿmÿѭ
ӧc áp dөng rӝng rãi và phәbiӃ
nӣ
nhiӅ
XOƭQKY
ӵFÿ
һ
c biӋ
WOjOƭQKY
ӵc giáo dөc.
7Uѭ
ӟFÿk\YL
Ӌ
c quҧ
n lý hӑ
c sinh, quҧ
QOêÿL
Ӈ
m chӍdӯng lҥ
i ӣviӋ
c quҧ
n lý bҵ
ng
thӵc tӃthông qua sәsách, tài liӋ
X«4X
ҧ
QQKѭY
ұ
y tӕn rҩ
t nhiӅ
u thӡi gian, cơng
sӭc cӫa cán bӝquҧ
Q Oê
Ӈgiҧ
i quyӃ
Ĉ t vҩ
Q
Ӆÿ
WUrQ HP
Ӄ
W
ӏ
nh
ÿm
ÿchӑQ
TX\
Ӆÿ
tài:
³;k\G
ng h͏th͙ng qu̫QOêÿL
͋
m cho h͕FVLQK´
, hӋthӕ
ng sӁgiúp cho viӋ
c quҧ
n
OêÿL
Ӈ
m, quҧ
n lý hӑc sinh trӣnên dӉdàng, nhanh chóng và khơng tӕn nhiӅ
u cơng
sӭc.
1.2.
0өFÿtFKÿӅWjL
- Tìm hiӇ
u vӅcác công nghӋ
: Java, phpMyAdmin (XAMPP).
- Tҥ
o ra mӝt hӋthӕng quҧ
QOêÿL
Ӈ
m cho hӑc sinh, giúp cho viӋ
c quҧ
QOêÿL
Ӈ
mӣ
FiFWUѭ
ӡng trung hӑ
c phәthông trӣnên dӉdàng và hiӋ
u quҧKѫQ
1.3.
ĈӕLWѭӧQJYjSKҥPYLQJKLrQFӭX
1.3.1. ĈӕLWѭӧQJ
Quҧ
QOêÿL
Ӈ
m cho hӑ
FVLQKWUѭ
ӡng trung hӑc phәthông.
1.3.2. 3KҥPYLQJKLrQFӭX
VӅFѫV
ӣdӳliӋ
u: Trong phҥ
m vi cӫ
Dÿ
Ӆtài chӍsӱdө
ng hӋquҧ
n trӏFѫV
ӣdӳliӋ
u
phpMyAdmin cӫ
a XAMPP ÿӇquҧ
n lý các thông tin cӫa dӳliӋ
u vӅQJѭ
ӡi dùng, hӑ
c
sinh, lӟp, khӕ
i, môn hӑFÿL
Ӈ
m.
VӅQJѭ
ӡi sӱdөng: Phҫ
n mӅ
Pÿѭ
ӧc sӱdөng bӣi nhân viên giáo vө
, hiӋ
XWUѭ
ӡng,
hiӋ
u phó, giáo viên, hӑc sinh.
1.4.
3KѭѫQJSKiSQJKLrQFӭX
- Thu thұ
p và nghiên cӭu các tài liӋ
XFyOLrQTXDQÿ
Ӄ
Qÿ
Ӆtài.
- Tìm hiӇ
u vӅngơn ngӳlұ
p trình Java ÿ
Ӈlұ
p trình cho phҫ
n mӅ
m.
697++RjQJ7K͓7KX1J͕F
±LͣS
10CNTT4
Trang 1
;k\GӵQJKӋWKӕQJTXҧQOêÿLӇPFKRKӑF
*9+'7K6/r9ă
- Tìm hiӇ
u vӅFѫV
ӣdӳliӋ
u phpMyAdmin cӫ
a XAMPP, tìm hiӇ
u các câu lӋ
nh
truy xuҩ
t dӳliӋ
Xÿ
Ӈthӵc hiӋ
n các nhiӋ
m vө: tҥ
o thông tin, cұ
p nhұ
t, xóa, sӱa.
- Phân tích các u cҫ
u, chӭFQăQJF
ӫa hӋthӕng quҧ
QOêÿL
Ӈ
m.
- ThiӃ
t kӃYjFjLÿ
һ
t, kiӇ
m thӱhӋthӕng.
1.5.
éQJKƭDNKRDKӑFYjWKӵFWLӉQFӫDÿӅ
éQJKƭDNKRDK
ӑ
c: Ĉӗng bӝhóa dӳliӋ
u giӳDQJѭ
ӡi dùng và sever. Tҥ
RKѭ
ӟng
phát triӇ
n rӝQJKѫQWURQJY
ҩ
Qÿ
Ӆquҧ
n lý dӳliӋ
u.
éQJKƭDWK
ӵc tiӉ
n: Làm cho viӋ
c quҧ
n lý hӑc sinh, quҧ
QOêÿL
Ӈ
m trӣnên dӉdàng
KѫQ
ӣFiFWUѭ
ӡng trung hӑc phәthơng.
1.6.
&ҩXWU~FEjLNKyDOXұQ
:
Bài khóa luұ
n ÿѭ
ӧc tәchӭFWKjQKFiFFKѭѫQJ
cөthӇQKѭVDX
&K˱˯QJ&˯V
ͧlý thuy͇
t.
ӢFKѭѫQJQj\V
Ӂnêu lên mӝt sӕlý thuyӃ
WFѫE
ҧ
n vӅngơn ngӳlұ
p trình Java, mơ
hình lұ
SWUuQKKѭ
ӟQJÿ
ӕ
LWѭ
ӧng MVC và cách kӃ
t nӕLFѫV
ӣdӳliӋ
u JDBC.
&K˱˯QJ
: Phân tích thi͇
t k͇h͏th͙ng.
ӢFKѭѫQJQj\V
ӁxiFÿ
ӏ
nh:
- Các yêu cҫ
u vӅchӭFQăQJFѫE
ҧ
n mà hӋthӕng cҫ
n có và cách thӭFWtQKÿL
Ӈ
m,
xӃ
p loҥ
i hӑ
c lӵc cho hӑc sinh.
- 1rXUDÿ
ҫ
\ÿ
ӫcác chӭFQăQJF
ҫ
n có trong hӋthӕ
ng quҧ
QOêÿL
Ӈ
m. Phân tích rõ
các chӭFQăQJYjÿ
ӕ
LWѭ
ӧQJÿѭ
ӧc phép sӱdөng các chӭFQăQJÿy
- Tәng hӧp các bҧ
ng dӳliӋ
Xӧ
ÿѭ
c sӱdөng trong hӋthӕng quҧ
Q Oê
Ӈ
m, nêu
ÿL
ÿѭ
ӧc mӕi quan hӋgiӳa các bҧ
ng dӳliӋ
u.
&K˱˯QJ
: Giao di͏
n cͯa h͏th͙
ng.
Hình ҧ
nh giao diӋ
n cӫ
a hӋthӕ
ng quҧ
QOêÿL
Ӈ
m.
697++RjQJ7K͓7KX1J͕F
±LͣS
10CNTT4
Trang 2
;k\GӵQJKӋWKӕQJTXҧQÿLӇPFKRKӑF
*9+'7K6/r9ă
3+Ҫ1
1Ӝ,'81*Ĉӄ7¬,
&+ѬѪ1*&Ѫ6Ӣ/é7+8<ӂ7
1.1.
*LӟLWKLӋXYӅQJ{QQJӳOұSWUuQK-DY
1.1.1. Java là gì?
Java là ngơn ngӳlұ
SWUuQKKѭ
ӟQJÿ
ӕ
LWѭ
ӧng (tӵa C++) do Sun MicrosystePÿѭD
ra vào giӳa thұ
p niên 90.
&KѭѫQJWUuQKYL
Ӄ
t bҵ
ng ngôn ngӳlұ
p trình Java có thӇchҥ
\ÿѭ
ӧc trên bҩ
t kǤhӋ
thӕ
ng nào có cài máy ҧ
o Java (Java Virtual Machine).
1.1.2. &iFÿһFÿLӇPQәLEұWFӫDQJ{QQJӳOұ
Máy áo Java (JVM ±Java Virtual Machine):
Tҩ
t cҧFiFFKѭѫQJWUuQKPX
ӕn thӵFWKLÿѭ
ӧc phҧ
Lÿѭ
ӧc biên dӏ
ch ra mã máy. Mã
máy cӫa tӯng kiӃ
n trúc CPU cӫa mӛi máy tính là khác nhau, vì vұ
\WUѭ
ӟFÿk\P
ӝt
FKѭѫQJWUuQKVDXNKLELrQG
ӏ
ch xong chӍcó thӇchҥ
y trên mӝt kiӃ
n trúc CPU cөthӇ
QjR ÿyình
&KѭѫQJWU
thӵF WKLWUrQ 0LFURVRIW
ӧc biên dӏ
FK
ӟiGѭ
dҥ
:LQGRZV
ng
ILOHFyÿX{L(;(FzQWUrQ/LQX[WKuÿѭ
ӧc biên dӏ
FKGѭ
ӟi dҥ
QJILOHFyÿX{
vұ
\WUѭ
ӟFÿk\P
ӝWFKѭѫQJWUuQKFK
ҥ
y trên hӋÿL
Ӆ
u hành Windows muӕ
n chҥ
\ÿѭ
ӧc
trên hӋÿL
Ӆ
u hành khác ví dөQKѭ/
inux thì phҧ
i chӍ
nh sӱa và biên dӏ
ch lҥ
i. Ngôn
ngӳlұ
S WUuQK
ӡi, -DYD
nhӟmáy ҧ
o UD
Java màÿnhӳQJ NKy NKăQ
ӧcQrX W
khҳ
c phөc. MӝWFKѭѫQJWUuQKYL
Ӄ
t bҵ
ng ngôn ngӳJava sӁÿѭ
ӧc biên dӏ
ch ra mã cӫ
a
máy ҧ
R-DYDPm-DYDE\WHFRGH
VDXÿyPi
ҧ
o Java chӏ
u trách nhiӋ
m chuyӇ
n mã
-DYDE\WHFRGHWKjQKPmPi\WѭѫQJ
ӭng.
Thông dӏ
ch:
Java là mӝ
t ngơn ngӳlұ
p trình vӯa biên dӏ
ch vӯa thơng dӏ
FK &KѭѫQJ W
nguӗ
n viӃ
t bҵ
ng ngôn ngӳlұ
S WUuQK -DYD
ҫ
X
Fy
WLrQ
ӧ
ÿX{L
c biên ÿѭ
dӏ
ch
MDY
thành tұ
SWLQFyÿX{L
FO
DVVYjVDXÿyV
Ӂÿѭ
ӧc trình thơng dӏ
ch thơng dӏ
ch thành mã
máy.
697++RjQJ7K͓7KX1J͕F
±LͣS
10CNTT4
Trang 3
;k\GӵQJKӋWKӕQJTXҧQÿLӇPFKRKӑF
*9+'7K6/r9ă
Ĉӝ
c lұ
p nӅ
n:
MӝWFKѭѫQJWUuQKYL
Ӄ
t bҵ
ng ngơn ngӳlұ
p trình Java có thӇchҥ
y trên nhiӅ
u máy
tính có hӋÿL
Ӆ
XKjQKNKiFQKDX:LQGRZV8QL[
Ӊ
n sao ӣÿyFyFjL
һ
t
máy ҧ
o Java (Java Virtual Machine). ViӃ
t mӝt lҫ
n chҥ
y mӑL QѫL ZULWH
anywhere).
+ѭ
ӟQJÿ
ӕ
LWѭ
ӧng:
+ѭ
ӟQJ
ӕL
ÿӧng
Wѭ
cӫ
D -DYD
ӵQKѭ
WѭѫQJW
& QKѭQJ
ӝt ngơn -DYD
ngӳlұ
p
Oj
WUuQK
ӟQJ
ӕ
Kѭ
L
ÿӧng
Wѭ
hồn tồn. Tҩ
t cҧmӑi thӭÿ
Ӆcұ
S
Ӄ
Q
ÿ WURQJ
Ӆ
u liên
-DYD
TXDQÿ
Ӄ
QFiFÿ
ӕ
i Wѭ
ӧQJÿѭ
ӧFÿ
ӏ
QKQJKƭDWUѭ
ӟc, thұ
m chí hàm chính cӫa mӝWFKѭѫQJ
trình viӃ
t bҵ
QJ-DYDKjPPDLQ
FNJQJÿѭ
ӧFÿ
һ
t bên trong mӝt lӟS+ѭ
ӟQJÿ
ӕ
LWѭ
ӧng
WURQJ-DYDNK{QJFyWtQKÿDN
ӃthӯDQKѭ
WURQJ&PjWKD\YjR
niӋ
P³LQWHUIDFH´ÿ
ӇhӛtrӧtíQKÿDN
Ӄthӯa.
ĈDQKL
Ӌ
PÿDOX
ӗ
ng (MultiTasking ±Multithreading):
Java hӛtrӧlұ
S WUuQK
Ӌ
m choÿD
phép QKL
nhiӅ
u tiӃ
n trình, tiӇ
u trình có thӇchҥ
y
song song cùng mӝ
t thӡLÿL
Ӈ
PYjWѭѫQJWiFY
ӟi nhau.
KhҧchuyӇ
n (Portable):
&KѭѫQJWUuQK
ӭng dө
ng viӃ
t bҵ
ng ngôn ngӳJava chӍcҫ
n chҥ
\ÿѭ
ӧc trên máy ҧ
o
Java là có thӇchҥ
\ÿѭ
ӧc trên bҩ
t kǤmáy tính, hӋÿL
Ӆ
u hành nào có máy ҧ
o Java.
Hӛtrӧmҥnh cho viӋ
c phát triӇ
n ӭng dөng:
Công nghӋJava phát triӇ
n mҥ
nh mӁnhӡvào Sun Microsystem cung cҩ
p nhiӅ
u
cơng cө
WKѭYL
Ӌ
n lұ
p trình phong phú hӛtrӧcho viӋ
c phát triӇ
n nhiӅ
u loҥ
i hình ӭng
dө
ng khác nhau cөthӇQKѭ-6(-DYD6WDQGDUG(G
ӛtrӧphát triӇ
n nhӳng
ӭng dөQJÿѫQ
ӭng dөng client ±sever, J2EE (Java 2 Enterprise Edition) hӛtrӧphát
triӇ
n các ӭng dө
QJWKѭѫ
ng mҥ
i, J2ME (Java 2 Micro Edition) hӛtrӧphát triӇ
n các
ӭng dө
ng trên các thiӃ
t bӏGLÿ
ӝ
QJNK{QJGk\«
697++RjQJ7K͓7KX1J͕F
±LͣS
10CNTT4
Trang 4
;k\GӵQJKӋWKӕQJTXҧQOêÿLӇPFKRKӑF
*9+'7K6/r9ă
1.1.3. &iFӭQJGөQJFӫD-DYD
Java và ӭng dөng Console:
Ӭng dө
ng Console là ӭng dөng nhұ
p xuҩ
t ӣchӃÿӝYăQE
ҧ
QWѭѫQJW
ӵQKѭ PjQ
hành Console cӫ
a hӋÿL
Ӆ
u hành MS ±DOS. Loҥ
LFKѭѫQJWUuQK
ӭng dөng này thích
hӧp vӟi nhӳQJDLEѭ
ӟFÿ
ҫ
u làm quen vӟi ngơn ngӳlұ
p trình Java.
Các ӭng dө
ng kiӇ
X&RQVROHWKѭ
ӡQJÿѭ
ӧFGQJÿ
Ӈminh hӑa các ví dөFѫE
ҧ
n liên
TXDQÿ
Ӄ
n cú pháp ngôn ngӳ, các thuұ
WWRiQYjFiFFKѭѫQJWUu
ӭng dө
ng không cҫ
n
thiӃ
Wÿ
Ӄ
n giao diӋ
QQJѭ
ӡLGQJÿ
ӗhӑa.
Java và ӭng dөng Applet:
Java Applet là loҥ
i ӭng dө
ng có thӇnhúng và chҥ
y trong trang web cӫa mӝ
t trình
duyӋ
t web. Tӯkhi internet mӟLUDÿ
ӡi, Java Applet cung cҩ
p mӝt khҧQăQJO
ұ
p trình
mҥ
nh mӁchRFiFWUDQJZHE1KѭQJJ
ҫ
Qÿk\NKLFiFWUuQKGX
Ӌ
WZHEÿmSKi
Ӈ
n
vӟi khҧQăQJ
ұ
p trình
Obҵ
QJ 9% 6FULSW -DYD 6FULSW
ӟi sӵ
+
cҥ
nh tranh khӕ
c liӋ
t cӫD0LFURVRIWYj6XQÿmOjPFKR
ӏlu mӡ. Và cho
ÿ
Ӄ
n bây giӡgҫ
QQKѭFiFO
ұ
p tUuQKYLrQÿ
Ӆ
XNK{QJFzQ³P
һ
QPj´Y
ӟi Java Applet.
Java và phát triӇ
n ӭng dөng Desktop dùng AWT và JFC:
ViӋ
c phát triӇ
QFiFFKѭѫQJWUuQK
ӭng dөng có giao diӋ
QQJѭ
ӡLGQJÿ
ӗhӑ
DWUѭ
ӧc
quan giӕQJQKѭQK
ӳQJFKѭѫQJWUuQKYL
Ӄ
t bҵ
ng ngôn ngӳVC++ hay Visual Basic ÿm
ÿѭ
ӧc Java giҧ
i quyӃ
t bҵ
QJWKѭYL
Ӌ
Q$:7Yj-)&-)&OjWKѭ
Ӌ
n rҩ
t phong phú và
hӛtrӧmҥ
nh mӁKѫQQKL
Ӆ
u so vӟL$:7-)&JL~SFKRQJѭ
ӡi lұ
p trình có thӇtҥ
o ra
mӝt giao diӋ
n trӵc quan bҩ
t kǤӭng dөQJQjR/LrQTXDQÿ
Ӄ
n viӋ
c phát triӇ
n các ӭng
dө
ng có giao diӋ
QQJѭ
ӡLGQJÿ
ӗhӑa trӵc quan.
Java và phát triӇ
n ӭng dөng Web:
Java hӛtrӧmҥ
nh mӁvӟi viӋ
c phát triӇ
n các ӭng dөng web thông qua công nghӋ
J2EE (Java 2 Enterprise Edition). Cơng nghӋJ2EE hồn tồn có thӇtҥ
o ra các ӭng
dө
ng web mӝt cách hiӋ
u quҧkhông thua kém công nghӋ1(7Pj0LFURVR
quҧ
ng cáo.
697++RjQJ7K͓7KX1J͕F
±LͣS
10CNTT4
Trang 5
;k\GӵQJKӋWKӕQJTXҧQOêÿLӇPFKRKӑF
*9+'7K6/r9ă
HiӋ
n nay có rҩ
t nhiӅ
u trang web nәi tiӃ
ng ӣViӋ
W1DPFNJQJQKѭNK
ҳ
SQѫLWUrQ
Ӄ
giӟLÿѭ
ӧc xây dӵng và phát triӇ
n trên công nghӋJava.
Java và phát triӇ
n các ӭng dөng nhúng:
-DYD6XQÿѭDUDF{QJQJ
hӋJ2ME (The Java 2 Platform, Micro Edition J2ME) hӛ
trӧphát triӇ
QFiFFKѭѫQJWUuQKSK
ҫ
n mӅ
m nhúng. J2ME cung cҩ
p mӝWP{LWUѭ
ӡng
cho nhӳQJFKѭѫQJWUuQK
ӭng dөng có thӇchҥ
y trên các thiӃ
t bӏFi QKkQQKѭ
Ӌ
n
thoҥ
LGLÿ
ӝng, máy tính bӓtúi PDA hay Palm, FNJQJQKѭFiFWKL
Ӄ
t bӏnhúng khác.
1.2.
-'%&YjNӃWQӕLFѫVӣGӳOLӋX
:
1.2.1. JDBC là gì?
-'%& Oj $3,
ӣnó cung
-DYD
cҩ
p các Fѫ
lӟp và V
các giao diӋ
Qӧ
ÿѭ
c viӃ
t bҵ
ng
-DYDÿ
Ӈtruy xuҩ
t và thao tác vӟi nhiӅ
u loҥ
i hӋFѫV
ӣdӳliӋ
u khác nhau.
SӵkӃ
t hӧp cӫa JDBC API và Java nӅ
n tҧ
ng cung cҩ
p các lӧi thӃcho viӋ
c truy
xuҩ
t và bҩ
t kǤnguӗ
n dӳliӋ
u khác nhau và sӵlinh hoҥ
t cӫa hoҥ
Wÿ
ӝng trên mӝ
t nӅ
n
có hӛtrӧmáy ҧ
R-DYD-90
Ĉ
ӕi vӟi mӝt nhà phát triӇ
QÿyOjÿL
Ӆ
u không cҫ
n thiӃ
t
ÿ
ӇviӃ
t mӝ
WFKѭѫQJWUuQKULrQJEL
Ӌ
t, truy cұ
p vào các hӋFѫV
ӣdӳliӋ
XNKiFQKDX
SQL Server, Oracle hoһ
F,%0'%7KD\YjRÿyP
ӝWFKѭѫQJWUuQKÿѫ
ҿvӟi viӋ
c
thӵc hiӋ
n JDBC có thӇgӱi Structured Query Language (SQL) hoһ
c gӱi nhӳng câu
lӋ
nh khác tӟi các nguӗn dӳliӋ
u phù hӧp hoһ
c hӋFѫV
ӣdӳliӋ
u.
1.2.2. .LӃQWU~F-'%&
Mơ hình hai t̯ng:
JDBC API hӛtrӧtrӧmơ hình hai tҫ
QJFNJQJQKѭP{KuQKED
ҫ
ng xӱlý dӳliӋ
u
cho các mơ hình truy xuҩ
WFѫV
ӣdӳliӋ
u.
Trong mơ hình hai tҫ
ng hӋthӕng máy khách / máy chӫ, máy khách có thӇliên hӋ
trӵc tiӃ
p vӟL Fѫ
ӣdӳliӋ
V
u cӫ
a máy chӫmà khơng cҫ
n có bҩ
t kǤmӝt công nghӋ
trung gian hoһ
c máy chӫkhác. Trong mô hình hai tҫ
QJP{LWUѭ
ӡng JDBC, các ӭng
dө
QJ-DYDOjNKiFKYj'%06OjFѫV
ӣdӳliӋ
u máy chӫ
.
ViӋ
c thӵc hiӋ
n tiêu biӇ
u cӫa mơ hình hai tҫ
QJOLrQTXDQÿ
Ӄ
n viӋ
c sӱdөng JDBC
$3,ÿ
ӇchuyӇ
n và gӱi yêu cҫ
u cӫa khách hàng tӟLFѫV
ӣdӳliӋ
X&ѫV
ӣdӳliӋ
u có
697++RjQJ7K͓7KX1J͕F
±LͣS
10CNTT4
Trang 6
;k\GӵQJKӋWKӕQJTXҧQOêÿLӇPFKRKӑF
*9+'7K6/r9ă
thӇnҵ
m cùng trên mӝt mҥ
ng hoһ
c có khác mҥ
ng. Các kӃ
t quҧÿѭ
ӧc gӱi trҧvӅcho
khách hàng mӝt lҫ
n nӳa thông qua JDBC API.
Mơ hình ba t̯
ng:
Trong mơ hình ba tҫ
ng, tҫ
ng giӳa là tҫ
ng các dӏ
ch vө, mӝt máy chӫthӭEDÿ
ҧ
m
nhiӋ
m viӋ
c gӱi yêu cҫ
u cӫ
a khách hàng tӟi máy chӫFѫV
ӣdӳliӋ
u. Tҫ
ng giӳa giúp
viӋ
FWiFKFiFFѫV
ӣdӳliӋ
u máy chӫtӯmáy chӫWEB. Sӵtham gia cӫa máy chӫthӭ
3 hoһ
c máy chӫ3UR[\WăQJFѭ
ӡng an nình bҵ
QJFiFKÿ
i qua tҩ
t cҧcác yêu cҫ
Xÿ
Ӄ
n
máy chӫFѫV
ӣdӳliӋ
u thông qua máy chӫProxy. Máy chӫFѫV
ӣdӳliӋ
u xӱlý các
yêu cҫ
u và gӱi lҥ
i các kӃ
t quҧÿ
Ӄ
n tҫ
ng giӳa (Proxy Server), mӝt lҫ
n nӳa kӃ
t quҧ
ÿѭ
ӧc gӱi trҧvӅmáy khách (Client).
Mô hình ba tҫ
ng có lӧi thӃKѫQ
so vӟi mơ hình hai tҫ
QJOjQyÿѫQJL
ҧ
QKyDKѫQ
giҧ
m chi phí triӇ
n khai ӭng dөng, ngồi ra nó còn cung cҩ
p và sӱDÿ
әi quyӅ
n truy
xuҩ
WYjRFѫV
ӣdӳliӋ
u.
JDBC API:
JDBC API là bӝVѭXW
ұ
p cӫ
DFiFFiFKÿ
ӏ
QKQJKƭDFѫV
ӣdӳliӋ
u theo nhiӅ
u cách
khác nhau và các ӭng dө
ng giao tiӃ
p vӟi nhau.
Cӕ
t lõi cӫD-'%&$3,ÿѭ
ӧc dӵa trên Java, vì vұ
\Qyÿѭ
ӧFGQJQKѭOj
Ӆ
n tҧ
ng
ÿ
Ӈxây dӵng chung giӳa ba tҫ
ng kiӃ
QWU~F'Rÿy-'%&$3,
ҫ
ng giӳD1yÿ
ӏ
nh
QJKƭDWK
Ӄnào là mӣkӃ
t nӕi cӫ
a mӝt ӭng dөQJYjFѫV
ӣdӳliӋ
u, các yêu cҫ
Xÿѭ
ӧc
gӱi tӟLFѫV
ӣdӳliӋ
u, các câu lӋ
nh truy vҩ
Q64/ÿѭ
ӧc thӵc thi, và kӃ
t quҧcӫ
a câu
truy vҩ
Q ÿy
ӧc lҩ
ÿѭ
\ UD -'%&
ҥ
Wӧ
ÿѭ
c mө
ÿm
c tiêu thông
ÿ qua mӝt tұ
p các giao
diӋ
Q-DYDÿyOjV
ӵthӵc hiӋ
n mӝt cách riêng biӃ
t cӫ
a mӝt lӟp cho mӝWFѫV
ӣdӳliӋ
u
cөthӇYjÿѭ
ӧc gӑLOjWUuQKÿL
Ӆ
u khiӇ
n JDBC (JDBC Driver).
[6]
1.2.3. &iFEѭӟFNӃWQӕL-'%&$3,
:
- N̩SWUuQKÿL
͉
u khi͋
n k͇
t n͙
i:
ĈӇWLӃQ KjQK
QKÿLӅXNKLӇQNӃWQӕL
QҥSWUu
SKҧLGQJSKѭѫQJWKӭ
OӟS&ODVVÿӇWҥRUDWKӇKLӋQFӫDOӟS
NӃWQӕLGӵDWUrQJLDRWK
697++RjQJ7K͓7KX1J͕F
±LͣS
10CNTT4
Trang 7
;k\GӵQJKӋWKӕQJTXҧQOêÿLӇPFKRKӑF
*9+'7K6/r9ă
protected
try {
void driverTest ()
throws Exception{
Class. forName( "org.gjt.mm.mysql.Driver"
}
);
catch (java.lang.ClassNotFoundException e) {
throw new Exception( "MySQL JDBC Driver not fou
}
}
nd ... "
);
- 7KL͇WO̵SN͇WQ͙Lÿ͇QF˯VͧGͷOL͏XW
:
ĈӇWKӵ
FKLӋQEѭӟFQj\
SKҧLWҥRÿӕLWѭӧQJFӫDOӟS
WUҧ YӅ FӫD SKѭѫQJ WKӭF JHW&RQQHFWLRQ
OӟS
'ULYHU0DQDJHUFyQKLӋPYөNLӇPWUD[HP
FyWUuQKÿLӅXNKLӇQNӃWQӕLWKtFKKӧS
WҧYjWUX\ӅQYjRWK{QJTXDWKDPVӕFӫD
1ӃXWKӓDPmQ
WKXӝFOӟS&RQQHFWLRQVӁWUҧYӅFKRSKpS
FҫQWKLӃW[XӕQJFѫVӣGӳOLӋXW
h{QJTXDÿӕLWѭӧQJQj\
.
public
Connection ketnoiCSDL()
throws Exception {
if ( this . connect ==null ){
driverTest();
String url =
"jdbc:mysql://"
+ this . Host +
":3306/" + this . DataBase;
try {
this . connect =
DriverMa nager. getConnection (url,
this . Password);
}
this . UserName,
catch (java.sql.SQLException e) {
throw new Exception( "Khong tim thay co so du lieu:
" + url + e.getMessage());
}
}
return
this . connect ;
}
697++RjQJ7K͓7KX1J͕F
±LͣS
10CNTT4
Trang 8
;k\GӵQJKӋWKӕQJTXҧQOêÿLӇPFKRKӑF
*9+'7K6/r9ă
- T̩o và thc thi m͡
t câu l͏
nh truy v̭Qÿ
͇
QF˯V
ͧdͷli͏
u:
.KLNӃWQӕLÿmÿѭӧFWKLӃWOұSÿӃQ'
FѫVӣGӳOLӋXWK
{QJTXDFRQQHFWLRQÿy
SKҧ
LWҥRUDÿӕLWѭӧQJ
WiFÿӝQJOrQFѫVӣGӳOLӋXFӫDFKѭѫQJ
WѭӧQJÿyFyWKӇOjREMHFWFӫDWURQJ
+ Statement.
+ PreparedStatement.
+ CallableStatement.
protected
Statement getStatement()
throws Exception {
if ( this . statement ==null ? true :
this . statement .isClosed()){
this . statement =
this .ketnoiCSDL().createStatement();
}
return
this . statement ;
}
- ;͵OêN͇WTX̫QK̵QY͉VDXNKLWKLKj
GͷOL͏X
:
0ӝWÿӕLWѭӧQJFӫDOӟS6WDWHPHQWVDX
ÿӝQJOrQFѫVӣGӳOLӋXWK{QJ
TXDSKѭѫQJWKӭFH[HFXWH4XHU
WKѭӡ
QJGQJNKL
WKӵFKLӋQFiFFkXOӋQK64/GҥQJ''/'
NKLWKӵFWKLOӋQKH[HFXWH4XHU\VӁOj
NӃWTXҧWUX\YҩQÿѭӧFWӯFѫVӣGӳOLӋX
publ ic ResultSet truyvanDL1(String sql)
throws Exception{
try {
this . result = getStatement().executeQuery(sql);
}
catch (Exception e){
throw new Exception( "Erro: "
+e.getMessage() + " -
" +sql);
}
return
this . result ;
}
697++RjQJ7K͓7KX1J͕F
±LͣS
10CNTT4
Trang 9
;k\GӵQJKӋWKӕQJTXҧQOêÿLӇPFKRKӑF
*9+'7K6/r9ă
- ĈyQJN͇WQ͙LYjJL̫LSKyQJWjLQJX\rQ
:
Ĉk\OjEѭ
ӟFÿѫQJL
ҧ
n nhҩ
WQKѭQJFNJQJOjEѭ
ӟc quan trӑng, giҧ
i phóng tài nguyên
WUiQKWUѭ
ӡng hӧSFѫV
ӣdӳliӋ
XNK{QJFzQÿ
ӫbӝnhӟÿӇcҩ
p phát.
public
void Dongketnoi()
throws SQLException{
if ( this . result != null && ! this . result .isClosed()){
this . result .close();
this . result = null ;
}
if ( this . statement != null &&
! this . statement .isClosed()){
this . statement .close();
this . statement = null ;
}
if ( this . connect != null && ! this . connect .isClosed()){
this . connect .close();
this . connect =null ;
}
}
1.3.
0{KuQK09&WURQJOұSWUuQKKѭӟQJÿӕ
MVC là viӃ
t tҳ
t các chӳFiL
ҫ
u cӫ
ÿ
a 3 tӯModel, View, Controller. MVC tәng
quát chia giao diӋ
QQJѭ
ӡi dùng cӫ
a dӵán ra thành 3 phҫ
n:
Model: /jPӝWSKҫQFӫDӭQJGөQJFKӭDFiF
FiFWtQKWRiQ[ӱOêORJLF
Trong các ӭng dөng dӵa trên MVC là nhӳng thành phҫ
n
có nhiӋ
m vөOѭXWU
ӳthơng tin, trҥ
ng thái cӫ
DFiFÿ
ӕLWѭ
ӧQJWK{QJWKѭ
ӡng nó là mӝ
t
lӟSÿѭ
ӧc ánh xҥtӯmӝt bҧ
QJWURQJFѫV
ӣdӳliӋ
u.
View: /jSKҫQÿҧPQKұQKLӇQWKӏFKtQK[iF
ӳQJJuFKRQJѭӡLG
Nó chính
là các thành phҫ
n chӏ
u trách nhiӋ
m hiӇ
n thӏFiFWK{QJWLQOrQFKR
ӡi dùng thông
qua giao diӋ
Q 7K{QJ
ӡng, các WKѭ
thông tin cҫ
n hiӇ
n thӏÿѭ
ӧc lҩ
y tӯthành phҫ
n
Models.
Controller: /jSKҫQÿҧPQKұQYLӋF[ӱOêÿiS
FGӳOLӋXÿѭӧF
QJѭӡL GQJ QKѭ FiF Vӵ NLӋQ FKXӝW EjQ
Trong các ӭng dөng kiӇ
u MVC chӏ
u trách nhiӋ
m xӱOê FiF
ӝng vӅ
WiF
mһ
t giaoÿ
diӋ
QFiFWKDRWiFÿ
ӕi vӟi models, và cuӕi cùng là chӑn mӝt view thích hӧSÿ
ӇhiӇ
n
697++RjQJ7K͓7KX1J͕F
±LͣS
10CNTT4
Trang 10