Tải bản đầy đủ (.pdf) (77 trang)

Xây dựng hệ thống quản lý điểm cho học sinh

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.4 MB, 77 trang )

ĈҤ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 th͹c 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à

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

ӟ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


ng 2.1

2



ng 2.2

Mô tҧcác tác nhân cӫa hӋthӕng

3


ng 2.3

Mô tҧUse case

4


ng 2.4


ng Hӑ
c sinh

5


ng 2.5

DӳliӋ
u bҧ
ng Hӑ
c sinh


6


ng 2.6


ng Lӟp

7


ng 2.7

DӳliӋ
u bҧ
ng Lӟp

8


ng 2.8


ng Khӕ
i

9



ng 2.9

DӳliӋ
u bҧ
ng Khӕ
i

10


ng 2.10


ng Môn hӑ
c

11


ng 2.11

DӳliӋ
u bҧ
ng Môn hӑc

12


ng 2.12



ng Hӑc kǤ

13


ng 2.13

DӳliӋ
u bҧ
ng Hӑc kǤ

14


ng 2.14


ng Bҧ
QJÿL
Ӈ
m

15


ng 2.15

DӳliӋ
u bҧ

ng Bҧ
QJÿL
Ӈ
m

16


ng 2.16


QJ4X\ÿ
ӏ
nh

17


ng 2.17

DӳliӋ
u bҧ
QJ4X\ÿ
ӏ
nh

18


ng 2.18



QJ1Jѭ
ӡi dùng

19


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

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Ӄ


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
Ӈ

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,

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 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ѭ

:LQGRZV
ng

ILOHFyÿX{L(;(FzQWUrQ/LQX[WKuÿѭ
ӧc biên dӏ

FKGѭ
ӟi dҥ
QJILOHFyÿX{

\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-DYD Pm-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 ÿѭ

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


D -DYD
ӵQKѭ
WѭѫQJW
& QKѭQJ
ӝt ngơn -DYD
ngӳlұ
p
Oj

WUuQK
ӟQJ
ӕ

L
ÿӧng

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-DYD KjPPDLQ
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


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


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ӵ
+


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

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


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

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

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

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.


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à th͹c 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

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


×