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

BÁO cáo bài tập lớn môn học NHẬP môn JAVA CHƯƠNG TRÌNH QUẢN lí các tài LIỆU TRONG THƯ VIỆN

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 (1.04 MB, 26 trang )

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
──────── * ───────

BÁO CÁO BÀI TẬP LỚN
MÔN HỌC: NHẬP MƠN JAVA

CHƯƠNG TRÌNH QUẢN LÍ CÁC TÀI
LIỆU TRONG THƯ VIỆN

Sinh viên thực hiện : Phạm Tuấn Hưng
Nguyễn Thái An
Đỗ Văn Vũ
Lớp

: IT3670Q_117849 – K64

Giáo viên hướng dẫn : TS. TRẦN HẢI ANH

download by :


Đề tài 2-Quản lí các tài liệu trong thư viện
Hà Nội, tháng 12 năm 2020

MỤC LỤC
Mục lục………………………………………………………………………….2
Lời nói đầu……………………………………………………………………...3
CHƯƠNG 1. GIỚI THIỆU CHUNG..............................................................6
1.1. Đặt vấn đề.......................................................................................................6
1.2. Tổng quan các công nghệ sử dụng................................................................6


1.3. Mục tiêu đặt ra...............................................................................................6

CHƯƠNG 2. CÔNG NGHỆ SỬ DỤNG.........................................................7
2.1. Công nghệ Java..............................................................................................7
2.1.1. Giới thiệu chung........................................................................................7
2.1.2. Mô tả.........................................................................................................7
2.2. Cơng nghệ SQL..............................................................................................8

CHƯƠNG 3. XÂY DỰNG CHƯƠNG TRÌNH............................................10
3.1. Xây dựng chương trình................................................................................10
3.1.1. Các lớp của chương trình.........................................................................10
1. Lớp Document.............................................................................................10
2. Lớp DocumentUI.........................................................................................10
3.1.2. Các tương tác...........................................................................................11
1. Kết nối và ngắt kết nối với database.............................................................11
2. Phương thức thực thi câu truy vấn khi nhấn vào Button..............................12
3. Button “Add”...............................................................................................13
4. Button “Update”..........................................................................................14
5. Button “Delete”............................................................................................15
6. Button “Clear”.............................................................................................16
7. Hiển thị dữ liệu lên Table.............................................................................16
8. Tìm kiếm dữ liệu..........................................................................................17
3.2. Kết quả chương trình...................................................................................19
3.3. Kết quả thử nghiệm......................................................................................21

CHƯƠNG 4. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN..............................22
Tài liệu tham khảo………………………………………………………….…22
Phụ lục…………………………………………………………………………23
2


download by :


Đề tài 2-Quản lí các tài liệu trong thư viện

LỜI NĨI ĐẦU
Việc ứng dụng máy tính để quản lý thơng tin đã phát triển mạnh ở các nước tiên
tiến từ những thập niên 70. Còn ở Nước ta hiện nay, vấn đề áp dụng Tin học để xử lý
thông tin trong công tác quản lý đã trở thành nhu cầu bức thiết, nhất là trong thời đại
"mở cửa" với các nước khác trên thế giới.
Hiện nay, việc quản lý tài liệu trong thư viện là một vấn đề hết sức cần thiết.
Việc Tin học hóa hệ thống quản lí tài liệu góp phần khơng nhỏ vào q trình quản lý
của tài liệu trong trường.
Sau khi khảo sát tại trường Đại học Bách Khoa Hà Nội, nhóm chúng em đã
cùng nhau quyết định phân tích và thiết kế cho phần quản lí các tài liệu trong thư viện
của trường. Số tài liệu của trường cũng đang dần tăng lên do vậy nhu cầu Tin học hóa
hồn tồn về hệ thống quản lí thư viện đang là một vấn đề khá cấp thiết. Đó cũng là lý
do mà nhóm chúng em chọn đề tài này.
Để hoàn thành được bài tập lớn này, nhóm chúng em xin được gửi lời cảm ơn
chân thành đến thầy giáo hướng dẫn đề tài Thầy Trần Hải Anh, Giảng viên Viện Công
nghệ Thông tin và Truyền thông, Trường Đại học Bách Khoa Hà Nội - đã hết lịng
giúp đỡ, hướng dẫn, chỉ dạy tận tình để nhóm em hoàn thành được đề tài này.
Hà Nội, tháng 12 năm 2020

Nhóm 2.2
Phạm Tuấn Hưng
Nguyễn Thái An
Đỗ Văn Vũ

3


download by :


Đề tài 2-Quản lí các tài liệu trong thư viện

PHÂN CƠNG THÀNH VIÊN TRONG NHĨM
STT

1

2
3

Họ tên

Phạm Tuấn
Hưng

MSSV

Cơng việc đóng
góp

20198230 Code các chức
năng trong
chương trình,
thiết kế database,
kết nối chương
trình với

database.
Nguyễn
20198197 Thiết kế giao
Thái An
diện chương
trình.
Đỗ Văn Vũ 20198276 Lên ý tưởng giao
diện.

Tỉ lệ
đóng góp

2 ngày

Mức
độ
hồn
thành
100%

1 ngày

100%

20%

1 ngày

100%


20%

Thời gian
thực hiện
cơng việc

60%

4

download by :


Đề tài 2-Quản lí các tài liệu trong thư viện

CHƯƠNG 1. GIỚI THIỆU CHUNG
1.1. Đặt vấn đề
Trong “chương trình quản lí các tài liệu trong thư viện” sẽ có các chức năng
thêm,sửa,xóa, tìm kiếm các tài liệu trong thư viện. Sau nhiều lần trao đổi, gặp mặt với
thầy Trần Hải Anh, nhóm chúng em đã có thể hiểu được những điều mình cần phải làm
và phân chia cơng việc cho từng thành viên trong nhóm.

1.2. Tổng quan các cơng nghệ sử dụng
Trong project lần này nhóm chúng em đã sử dụng công nghệ : Java và SQL
-

Java là một nền tảng phát triển các ứng dụng phần mềm có vị trí rất lớn trong
những năm cuối thế kỉ 20, đầu thế kỉ 21. Đánh dấu sự trưởng thành của mô hình
lập trình hướng đối tượng, nó được coi là một nền tảng mang tính cách mạng
trong ngành phần mềm. Mơ hình máy ảo Virtual Machine đã cho phép các ứng

dụng viết bằng Java có thể chạy trên nhiều hệ điều hành khác nhau.

-

SQL được sử dụng trong các ngôn ngữ quản lý cơ sở dữ liệu (CSDL) và chạy
trên máy đơn lẻ. Do sự phát triển nhanh chóng của nhu cầu xây dựng những
CSDL lớn theo mơ hình khách/chủ (Client/Server), nhiều phần mềm sử dụng
ngôn ngữ SQL đã ra đời mà điển hình là MS SQL Server, Oracle, Sybase...

1.3. Mục tiêu đặt ra
-

Hồn thành chương trình “quản lí các tài liệu trong thư viện ”.
Các thành viên trong nhóm hiểu và sử dụng tốt 2 công nghệ : Java và SQL
Nâng cao kĩ năng làm việc nhóm
Nâng cao khả năng tìm kiếm, học hỏi

5

download by :


Đề tài 2-Quản lí các tài liệu trong thư viện

CHƯƠNG 2. CƠNG NGHỆ SỬ DỤNG
2.1. Cơng nghệ Java
2.1.1. Giới thiệu chung
Java là một nền tảng phát triển các ứng dụng phần mềm có vị trí rất lớn trong những
năm cuối thế kỉ 20, đầu thế kỉ 21. Đánh dấu sự trưởng thành của mơ hình lập trình
hướng đối tượng, nó được coi là một nền tảng mang tính cách mạng trong ngành phần

mềm. Mơ hình máy ảo Virtual Machine đã cho phép các ứng dụng viết bằng Java có
thể chạy trên nhiều hệ điều hành khác nhau.

2.1.2. Mô tả
Lần đầu tiên xuất hiện vào năm 1992 như là một ngôn ngữ dùng trong nội bộ tập
đoàn Sun Microsystems để xây dựng ứng dụng điều khiển các bộ xử lý bên trong máy
điện thoại cầm tay, lị vi sóng, các thiết bị điện tử dân dụng khác. Không chỉ là một
ngôn ngữ, Java còn là một nền tảng phát triển và triển khai ứng dụng trong đó máy ảo
Java, bộ thơng dịch có vai trị trung tâm.
Sun, cơng ty đã phát minh ra ngơn ngữ Java, chính thức ban hành bản Java
Development Kit 1.0 vào năm 1996 hồn tồn miễn phí để các nhà phát triển có thể tải
về, học Java, xây dựng các ứng dụng Java và triển khai chúng trên các hệ điều hành có
hỗ trợ Java. Ban đầu, Java chủ yếu dùng để phát triển các applet, các ứng dụng nhúng
vào trình duyệt, góp phần làm sinh động các trang web tĩnh vốn hết sức tẻ nhạt hồi đó.
Tuy nhiên, cùng với sự phát triển của cơng nghệ thông tin và nhu cầu của xã hội, Java
applet đã dần mất đi vị trí của nó và thay vào đó, các cơng ty, cộng đồng ủng hộ Java
đã phát triển nó theo một hướng khác. . Hiện nay, cơng nghệ Java được chia làm ba bộ
phận:
J2SE
Gồm các đặc tả, công cụ, API của nhân Java giúp phát triển các ứng dụng trên desktop
và định nghĩa các phần thuộc nhân của Java.
J2EE
Gồm các đặc tả, công cụ, API mở rộng J2SE để phát triển các ứng dụng quy mơ xí
nghiệp, chủ yếu để chạy trên máy chủ (server). Bộ phận hay được nhắc đến nhất của
công nghệ này là công nghệ Servlet/JSP: sử dụng Java để làm các ứng dụng web.
J2ME
Gồm các đặc tả, công cụ, API mở rộng để phát triển các ứng dụng Java chạy trên điện
thoại di động, thẻ thông minh, thiết bị điện tử cầm tay, robo và những ứng dụng điện
tử khác
Java đã trải qua 3 bước phát triển quan trọng: Java 1.0 gắn liền với bản JDK đầu tiên,

Java 2 gắn với JDK 1.2 và Java 5 gắn với J2SDK 1.5
6

download by :


Đề tài 2-Quản lí các tài liệu trong thư viện
Ngày nay, khi nhắc đến Java người ta khơng cịn chỉ nhắc đến Java như là một ngôn
ngữ mà nhắc đến Java như là một công nghệ hay một nền tảng phát triển. Nó bao gồm
các bộ phận:





Máy ảo Java: JVM
Bộ công cụ phát triển: J2SDK
Các đặc tả chi tiết kĩ thuật (specifications)
Ngơn ngữ lập trình (programming language)

2.2. Cơng nghệ SQL
SQL : Giữa những năm 1970, một nhóm các nhà phát triển tại trung tâm nghiên cứu
của IBM tại San Jose phát triển hệ thống cơ sở dữ liệu "Hệ thống R" dựa trên mơ hình
của Codd. Structured English Query Language, viết tắt là "SEQUEL" (tạm dịch là
"Ngôn ngữ truy vấn tiếng Anh có cấu trúc"), được thiết kế để quản lý và truy lục dữ
liệu được lưu trữ trong Hệ thống R. Sau này, tên viết tắt SEQUEL được rút gọn thành
SQL để tránh việc tranh chấp nhãn hiệu (từ SEQUEL đã được một công ty máy bay
của UK là Hawker-Siddeley đăng ký). Mặc dù SQL bị ảnh hưởng bởi cơng trình của
tiến sĩ Codd nhưng nó khơng do tiến sĩ Codd thiết kế ra. Ngôn ngữ SEQUEL được
thiết kế bởi Donald D. Chamberlin và Raymond F. Boyce tại IBM, và khái niệm của

họ được phổ biến để tăng sự chú ý về SQL.
Phiên bản cơ sở dữ liệu quan hệ phi thương mại, không hỗ trợ SQL đầu tiên được phát
triển năm 1974.(Ingres from U.C. Berkeley.)
Năm 1978, việc thử nghiệm phương pháp được khởi đầu tại một cơ sở thử nghiệm của
khách hàng. Cuộc thử nghiệm đã chứng minh được sự có ích và tính thực tiễn của hệ
thống và đã chứng tỏ sự thành công của IBM. Dựa vào kết quả đó, IBM bắt đầu phát
triển các sản phẩm thương mại bổ sung thêm SQL dựa trên nguyên mẫu Hệ thống R
bao gồm System/38 (Hệ thống/38) (được công bố năm 1978 và được thương mại hóa
tháng 8 năm 1979, SQL/DS (được giới thiệu vào năm 1981) và DB2 (năm 1983).
Cùng thời điểm đó Relational Software, Inc. (bây giờ là Oracle Corporation) đã nhận
thấy tiềm năng của những khái niệm được Chamberlin and Boyce đưa ra và đã phát
triển phiên bản Hệ quản trị cơ sở dự liệu quan hệ riêng của họ cho Navy, CIA và các tổ
chức khác. Vào mùa hè năm 1979, Relational Software, Inc. giới thiệu Oracle V2
(Phiên bản 2), phiên bản thương mại đầu tiên hỗ trợ SQL cho máy tính VAX. Oracle
thường xuyên được nhắc tới một cách khơng nghiêm túc vì đã tấn công thị trường
của IBM trong 2 năm, nhưng việc táo bạo nhất trong quan hệ công chúng của họ là tấn
công một phiên bản của IBM System/38 chỉ trong có vài tuần. Tương lai của Oracle đã
được đảm bảo vì có sự quan tâm đáng kể của cơng chúng sau đó mới phát triển, trong
khi đã có nhiều phiên bản của các nhà cung cấp khác.
IBM đã quá chậm trong việc phát triển SQL và các sản phẩm quan hệ, có lẽ vì ban đầu
nó khơng dùng được trong mơi trường Unix và máy tính lớn (Mainframe), và họ sợ nó
sẽ làm giảm lợi nhuận thu được từ việc bán các sản phẩm cơ sở dữ liệu IMS (những
sản phẩm dựa trên mơ hình cơ sở dữ liệu định hướng chứ không phải cơ sở dữ liệu
quan hệ) của mình. Trong lúc đó, Oracle vẫn đang phát triển, IBM đang phát
7

download by :


Đề tài 2-Quản lí các tài liệu trong thư viện

triển System/38, được mong đợi là hệ cơ sở dữ liệu quan hệ đầu tiên của họ. Với năng
lực và thiết kế tiên tiến của nó, người ta cho rằng nó có thể sẽ thay thế cho hệ thống
Unix và máy tính lớn.
SQL được thừa nhận là tiêu chuẩn của ANSI (American National Standards Institute)
vào năm 1986 và ISO (International Organization for Standardization) năm 1987.
ANSI đã công bố cách phát âm chính thức của SQL là "ess kyoo ell", nhưng rất nhiều
các chuyên gia cơ sở dữ liệu nói tiếng Anh vẫn gọi nó là sequel. Một quan niệm sai
khác cũng được phổ biến rộng rãi đó là "SQL" là chữ viết tắt của "Structured Query
Language" (Ngơn ngữ truy vấn có cấu trúc). Thực tế không phải như vậy!

8

download by :


Đề tài 2-Quản lí các tài liệu trong thư viện

CHƯƠNG 3. XÂY DỰNG CHƯƠNG TRÌNH
3.1. Xây dựng chương trình
3.1.1. Các lớp của chương trình
Để xây dựng lên chương trình quản lí thư viện chúng em đã xây dựng 2 lớp.

1. Lớp Document

2. Lớp DocumentUI
-Lớp DocumentUI kế thừa lớp JFrame

9

download by :



Đề tài 2-Quản lí các tài liệu trong thư viện

3.1.2.

Các tương tác.

Lớp DocumentUI được khởi tạo sẽ hiển thị lên toàn bộ giao diện cho người dùng
tương tác.

1. Kết nối và ngắt kết nối với database
Đầu tiên, sẽ tạo phương thức kết nối đến database
pr
i
va
t
evoi
dc
onne
c
t
(
){
t
r
y{
S
t
r

i
ngdbURL="
j
dbc
:
s
ql
s
e
r
ve
r
:
/
/l
oc
a
l
hos
t
;
da
t
a
ba
s
e
=mi
ni
pr

oj
e
c
t
;
"
;
S
t
r
i
ngus
e
r="
s
a
"
;
S
t
r
i
ngpa
s
s="
12
3
45
6
"

;
c
on=Dr
i
ve
r
Ma
na
ge
r
.
g
e
t
Co
nne
c
t
i
o
n(
dbURL,us
e
r
,pa
s
s
)
;
s

t
mt=c
on.
c
r
e
a
t
e
S
t
a
t
e
me
nt
(
)
;
}c
a
t
c
h(
SQLEx
c
e
pt
i
one

){
S
ys
t
e
m.
out
.
pr
i
nt
l
n(
e
)
;

10

download by :


Đề tài 2-Quản lí các tài liệu trong thư viện
J
Opt
i
onPa
ne
.
s

ho
wMe
s
s
a
g
e
Di
a
l
o
g
(
nul
l
,
"
Conne
c
t
i
onEr
r
or
"
)
;
}
}
Và tiếp đó là ngắt kết nối với database

pr
i
va
t
evoi
ddi
s
c
onne
c
t
(
){
t
r
y{
c
on.
c
l
os
e
(
)
;
}c
a
t
c
h(

Ex
c
e
pt
i
one
){
e
.
pr
i
nt
St
ac
kTr
a
c
e
(
)
;
}
}

2. Phương thức thực thi câu truy vấn khi nhấn vào Button
Trong giao diện gồm có 4 Button, khi nhấn vào 1 Button thì dữ liệu sẽ được lấy
từ các TextField hay lựa chọn dữ liệu trên Table sau đó tương tác với database để có
thể thêm,sửa xóa và sau đó tất cả các dữ liệu sau khi được tương tác,sẽ thấy được
những sự thay đổi mới trên Table. Do đó, chúng em đã tạo phương thức thực hiện các
câu truy vấn SQL khi nhấn vào Button

pr
i
va
t
evoi
de
x
e
c
ut
e
SQl
Que
r
y(
S
t
r
i
ngque
r
y,S
t
r
i
ngme
s
s
a
ge

){
t
r
y{
c
onne
c
t
(
)
;
i
f(
(
s
t
mt
.
e
x
e
c
ut
e
Upda
t
e
(
que
r

y)
)==1
){
/
/r
e
f
r
e
s
hj
t
abl
eda
t
a
De
f
a
ul
t
Ta
bl
e
Mode
lmode
l=(
De
f
a

ul
t
Ta
bl
e
Mode
l
)t
abl
e
.
ge
t
Mode
l
(
)
;
mode
l
.
s
e
t
RowCount
(
0)
;
s
howDoc

I
nTa
bl
e
(
)
;
nul
l
,"
Da
t
a"+me
s
s
a
ge+"
J
Opt
i
onPane
.
s
h
o
wMe
s
s
a
g

e
Di
a
l
o
g
(
Suc
c
e
f
ul
l
y"
)
;
}e
l
s
e{
J
Opt
i
onPane
.
s
h
o
wMe
s

s
a
g
e
Di
a
l
o
g
(
nul
l
,"
Da
t
aNot"+me
s
s
a
ge
)
;
}
di
s
c
onne
c
t
(

)
;
}c
a
t
c
h(
Ex
c
e
pt
i
one
x
){
e
x.
pr
i
nt
S
t
ac
kTr
a
c
e
(
)
;

}
}

3. Button “Add”
Khi chọn vào Button “Add” các TextField sẽ được kiểm tra, nếu TextField nào
rỗng sẽ được chương trình yêu cầu nhập dữ liệu. Sau khi khơng cịn TextField nào
rỗng thì dữ liệu của tài liệu mới sẽ được lấy từ các TextField rồi thêm vào database và
11

download by :


Đề tài 2-Quản lí các tài liệu trong thư viện
hiện lên thơng báo thêm thành cơng. Sau đó các TextField sẽ được làm mới để có thể
thêm các dữ liệu khác vào. Ở đây không cần TextField nhập ID mới vì trong database
đã tạo trường Into Increment cho ID để nó tự tạo ID và đảm bảo các ID khơng trùng
nhau.
i
f(
t
f
Type
.
ge
t
Te
xt
(
)
.

e
qual
s
(
"
"
)
)
J
Opt
i
onPa
ne
.
s
ho
wMe
s
s
a
g
e
Di
a
l
o
g(
t
hi
s

,"
Pl
e
a
s
ee
nt
e
r
)
;
doc
ume
ntt
ype
"
e
l
s
ei
f(
t
f
Name
Doc
.
ge
t
Te
xt

(
)
.
e
qual
s
(
"
"
)
)
J
Opt
i
onPa
ne
.
s
ho
wMe
s
s
a
g
e
Di
a
l
o
g(

t
hi
s
,"
Pl
e
a
s
ee
nt
e
r
)
;
doc
ume
ntname
"
e
l
s
ei
f(
t
f
Aut
hor
.
ge
t

Te
xt
(
)
.
e
qua
l
s
(
"
"
)
)
J
Opt
i
onPa
ne
.
s
ho
wMe
s
s
a
g
e
Di
a

l
o
g(
t
hi
s
,"
Pl
e
a
s
ee
nt
e
raut
hor
na
me
"
)
;
e
l
s
ei
f(
t
f
Publ
i

s
he
r
.
ge
t
Te
xt
(
)
.
e
qual
s
(
"
"
)
)
J
Opt
i
onPa
ne
.
s
ho
wMe
s
s

a
g
e
Di
a
l
o
g(
t
hi
s
,"
Pl
e
a
s
ee
nt
e
r
)
;
publ
i
s
he
r
"
e
l

s
ei
f(
t
f
Re
l
e
a
s
e
Numbe
r
.
ge
t
Te
xt
(
)
.
e
qual
s
(
"
"
)
)
J

Opt
i
onPa
ne
.
s
ho
wMe
s
s
a
g
e
Di
a
l
o
g(
t
hi
s
,"
Pl
e
a
s
ee
nt
e
rr

e
l
e
a
s
e
)
;
numbe
r
"
e
l
s
e{
St
r
i
ngque
r
y="
i
ns
e
r
ti
nt
oLi
br
a

r
yval
ue
s
(
'
"+
t
f
Type
.
ge
t
Te
xt
(
)+"
'
,
'
"+t
f
Na
me
Doc
.
ge
t
Te
xt

(
)+"
'
,
'
"
+t
f
Aut
hor
.
ge
t
Te
xt
(
)+"
'
,
'
"+
t
f
Publ
i
s
he
r
.
ge

t
Te
xt
(
)+"
'
,
'
"
+I
nt
e
ge
r
.
p
a
r
s
e
I
nt
(
t
f
Re
l
e
as
e

Numbe
r
.
ge
t
Te
xt
(
)
)+
"
'
)
;
"
;
e
x
e
c
ut
e
SQl
Que
r
y(
que
r
y,"
Adde

d"
)
;
t
f
Type
.
s
e
t
Te
xt
(
"
"
)
;
t
f
Name
Doc
.
s
e
t
Te
xt
(
"
"

)
;
t
f
Aut
hor
.
s
e
t
Te
xt
(
"
"
)
;
t
f
Publ
i
s
he
r
.
s
e
t
Te
xt

(
"
"
)
;
t
f
Re
l
e
a
s
e
Numbe
r
.
s
e
t
Te
xt
(
"
"
)
;
}
Khi nhập dữ liệu vào TextField “Release Number”, chỉ có thể nhập số chứ khơng thể
kí tự là chữ. Do đó, TextField này sẽ được bắt sự kiện keyTyped để chọn lọc.
pr

i
va
t
evoi
dc
he
c
kDa
t
a
I
nput
TFRe
l
e
a
s
e
Numbe
r
(
){
t
f
Re
l
e
a
s
e

Numbe
r
.
a
ddKe
yLi
s
t
e
ne
r
(
ne
w Ke
yAda
pt
e
r
(
){
@Ove
r
r
i
de
publ
i
cvoi
dke
yT

ype
d(
Ke
yEve
nte
){
i
f(
!
Cha
r
a
c
t
e
r
.
i
s
Di
g
i
t
(
e
.
ge
t
Ke
yChar

(
)
)
){
e
.
c
ons
ume
(
)
;

12

download by :


Đề tài 2-Quản lí các tài liệu trong thư viện
}
}
}
)
;
}

4. Button “Update”
Khi muốn cập nhật một dữ liệu nào đó, chỉ cần chọn một dữ liệu trên Table,
khi đó các TextField sẽ được set dữ liệu và chỉ cần chỉnh sửa dữ liệu ở trong các
TextField. Và chúng em đã tạo phương thức bắt sự kiện khi chọn vào dữ liệu trên

Table và set dữ liệu cho các TextField

pr
i
va
t
evoi
ds
e
t
Da
t
a
OnTFWhe
nSe
l
e
c
t
(
){
t
a
bl
e
.
a
ddMous
e
Li

s
t
e
ne
r
(
ne
w Mous
e
Ada
pt
e
r
(
){
@Ove
r
r
i
de
publ
i
cvoi
dmous
e
Cl
i
c
ke
d(

Mous
e
Eve
nta
r
g0
){
i
nti=t
a
bl
e
.
ge
t
Se
l
e
c
t
e
dRow(
)
;
t
f
Se
l
e
c

t
Row.
s
e
t
Te
x
t
(
i+"
"
)
;
mode
l=(
De
f
a
ul
t
Ta
bl
e
Mode
l
)t
abl
e
.
ge

t
Mode
l
(
)
;
t
f
I
D.
s
e
t
Te
x
t
(
mode
l
.
ge
t
Va
l
ue
At
(
i
,
0)

.
t
oS
t
r
i
ng(
)
)
;
t
f
T
ype
.
s
e
t
Te
x
t
(
mode
l
.
ge
t
Va
l
ue

At
(
i
,
1)
.
t
oSt
r
i
ng(
)
)
;
t
f
Na
me
Doc
.
s
e
t
T
e
x
t
(
mode
l

.
ge
t
Va
l
ue
At
(
i
,
2
)
.
t
oSt
r
i
ng(
)
)
;
t
f
Aut
hor
.
s
e
t
Te

xt
(
mode
l
.
ge
t
Va
l
ue
At
(
i
,
3
)
.
t
oSt
r
i
ng(
)
)
;
t
f
Publ
i
s

he
r
.
s
e
t
Te
xt
(
mode
l
.
ge
t
Va
l
ue
At
(
i
,
4
)
.
t
oSt
r
i
ng(
)

)
;
t
f
Re
l
e
a
s
e
Numbe
r
.
s
e
t
Te
xt
(
mode
l
.
ge
t
Va
l
ue
At
(
i

,
5
)
.
t
oSt
r
i
ng(
)
)
;
}
}
)
;
}

Và sau đó chỉ cần nhấn vào Button “Update”, dữ liệu sẽ được cập nhật lên
database. Nếu chưa chọn vào dữ liệu nào của Table sẽ có thơng cáo u cầu chọn dữ
liệu cần update. Ở đây chúng em đã tạo 1 TextField để chứa thơng tin ID và ẩn nó đi
và cũng khơng thể chỉnh sửa gì vào TextField này. TextField có tác dụng lấy ID để
cập nhật dữ liệu có ID trùng với ID dữ liệu đã chọn trên Table.
pr
i
va
t
evoi
dac
t

i
onPe
r
f
or
me
dBTUpda
t
e
(
){
i
f(
t
a
bl
e
.
ge
t
Se
l
e
c
t
e
dRow(
)<0
){
J

Opt
i
onPane
.
s
h
o
wMe
s
s
a
g
e
Di
a
l
o
g(
nul
l
,
"
Pl
e
a
s
eSe
l
e
c

tRow Fi
r
s
t
"
)
;
}e
l
s
e{
S
t
r
i
ngque
r
y="UPDATELi
br
a
r
ySETT
ype='
"+t
f
Type
.
ge
t
Te

xt
(
)+"
'
,
f
Name
Doc
.
ge
t
Te
xt
(
)
+"
'
,Aut
hor
='
"+t
f
Aut
hor
.
ge
t
Te
xt
(

)+"
'
,
Publ
i
s
he
r
='
"+
Doc
ume
nt
Na
me
='
"+t
t
f
Publ
i
s
he
r
.
ge
t
Te
xt
(

)
+"
'
,
Re
l
e
a
s
e
Numbe
r
='
"+t
f
Re
l
e
as
e
Numbe
r
.
ge
t
T
e
x
t
(

)+"
'
whe
r
eI
D="
+I
nt
e
ge
r
.
pa
r
s
e
I
nt
(
t
f
I
D.
ge
t
Te
x
t
(
)

)
;
e
x
e
c
ut
e
SQl
Que
r
y(
que
r
y,"
Upda
t
e
d"
)
;
t
f
T
ype
.
s
e
t
Te

x
t
(
"
"
)
;
t
f
Na
me
Doc
.
s
e
t
T
e
x
t
(
"
"
)
;

13

download by :



Đề tài 2-Quản lí các tài liệu trong thư viện
t
f
Aut
hor
.
s
e
t
Te
xt
(
"
"
)
;
t
f
Publ
i
s
he
r
.
s
e
t
Te
xt

(
"
"
)
;
t
f
Re
l
e
a
s
e
Numbe
r
.
s
e
t
Te
xt
(
"
"
)
;
t
f
Fi
nd.

s
e
t
T
e
x
t
(
"
"
)
;
}
}

5. Button “Delete”
Khi muốn xóa một dữ liệu, chỉ cần chọn dữ liệu cần xóa ở Table và chọn Button
“Delete”. Tương tự cập nhật thì xóa cũng cần dựa vào ID để xóa dữ liệu cần xóa.Nếu
chưa chọn vào dữ liệu nào của Table sẽ có thơng cáo u cầu chọn dữ liệu cần xóa.
pr
i
vat
evoi
dac
t
i
onPer
f
or
me

dBTDe
l
e
t
e
(
){
i
f(
t
abl
e
.
ge
t
Se
l
e
c
t
e
dRow(
)<0
){
J
Opt
i
onPa
ne
.

s
ho
wMe
s
s
a
g
e
Di
a
l
o
g(
nul
l
,
"
Pl
e
as
eSe
l
e
c
tRow Fi
r
s
t
"
)

;
}e
l
s
e{
St
r
i
ngque
r
y="
DELETEFROM Li
br
a
r
yWHEREI
D="+t
f
I
D.
ge
t
Te
xt
(
)
;
e
xe
c

ut
e
SQl
Que
r
y(
quer
y,
"
Re
move
d"
)
;
t
f
T
ype
.
s
e
t
Te
xt
(
"
"
)
;
t

f
Name
Doc
.
s
e
t
Te
xt
(
"
"
)
;
t
f
Aut
hor
.
s
e
t
Te
xt
(
"
"
)
;
t

f
Publ
i
s
her
.
s
e
t
Te
xt
(
"
"
)
;
t
f
Re
l
e
as
eNumbe
r
.
s
e
t
Te
xt

(
"
"
)
;
t
f
Fi
nd.
s
e
t
Te
xt
(
"
"
)
;
}
}

6. Button “Clear”
Khi khơng ưng ý với liệu đã nhập vào các TextField,có thể chọn Button “Clear”
để xóa tất cả dữ liệu đã nhập vào TextField
pr
i
va
t
evoi

da
c
t
i
onPe
r
f
or
me
dBTCl
e
ar
(
){
t
f
T
ype
.
s
e
t
Te
xt
(
"
"
)
;
t

f
Name
Doc
.
s
e
t
Te
xt
(
"
"
)
;
t
f
Aut
hor
.
s
e
t
Te
xt
(
"
"
)
;
t

f
Publ
i
s
he
r
.
s
e
t
Te
xt
(
"
"
)
;
t
f
Re
l
e
a
s
e
Numbe
r
.
s
e

t
Te
xt
(
"
"
)
;
}

7. Hiển thị dữ liệu lên Table
Tất cả các dữ liệu sẽ được hiển thị lên Table. Đầu tiên tất cả dữ liệu sẽ được lưu
vào 1 ArrayList kiểu dữ liệu Document. Kiểu dữ liệu Document chính là lớp
Document định nghĩa, gồm có :
14

download by :


Đề tài 2-Quản lí các tài liệu trong thư viện
i
nti
D;
pr
i
va
t
eS
t
r

i
ngt
ype
,doc
ume
nt
Na
me
,a
ut
hor
,
publ
i
s
he
r
;
pr
i
va
t
ei
ntr
e
l
e
a
s
e

Numbe
r
;

m khởito
ạ c
ủalp
ớ Document
publ
i
cDoc
ume
nt
(
i
nti
D,
St
r
i
ngt
ype
,St
r
i
ngdoc
ume
nt
Name
,S

t
r
i
nga
ut
hor
,
St
r
i
ng
publ
i
s
he
r
,
i
ntr
e
l
e
a
s
e
Numbe
r
){
t
hi

s
.
i
D=i
D;
t
hi
s
.
t
ype=t
ype
;
t
hi
s
.
doc
ume
nt
Na
me=doc
ume
nt
Name
;
t
hi
s
.

a
ut
hor=aut
hor
;
t
hi
s
.
publ
i
s
he
r=publ
i
s
he
r
;
t
hi
s
.
r
e
l
e
as
e
Numbe

r=r
e
l
e
a
s
e
Numbe
r
;
}

Các dữ liệu được lấy về từ database sẽ được lưu vào 1 ArrayList kiểu dữ liệu
Document
pr
i
va
t
eAr
r
a
yLi
s
t
ume
nt
>ge
t
Al

l
Doc
ume
nt
(
){
Ar
r
a
yLi
s
t
ume
nt
>l
i
s
t
Doc=ne
w Ar
r
a
yLi
s
t
ume
nt
>(

)
;
t
r
y{
c
onne
c
t
(
)
;
s=s
t
mt
.
e
x
e
c
ut
e
Que
r
y(
"
s
e
l
e

c
t*f
r
om Li
br
ar
y"
)
;
Re
s
ul
t
Se
tr
whi
l
e(
r
s
.
ne
x
t
(
)
){
i
nti
D =r

s
.
ge
t
I
nt
(
"
I
D"
)
;
S
t
r
i
ngt
ype=r
s
.
ge
t
St
r
i
ng(
"
T
ype
"

)
;
S
t
r
i
ngdoc
ume
nt
Name=r
s
.
ge
t
S
t
r
i
ng(
"
Doc
ume
nt
Na
me
"
)
;
S
t

r
i
ngaut
hor=r
s
.
ge
t
S
t
r
i
ng(
"
Aut
hor
"
)
;
S
t
r
i
ngpubl
i
s
he
r=r
s
.

ge
t
St
r
i
ng(
"
Publ
i
s
he
r
"
)
;
i
ntr
e
l
e
a
s
e
Numbe
r=r
s
.
ge
t
I

nt
(
"
Re
l
e
as
e
Numbe
r
"
)
;
Doc
ume
ntdoc
ume
nt=new Doc
ume
nt
(
i
D,
t
ype
,
doc
ume
nt
Name

,
a
ut
hor
,
publ
i
s
he
r
,
r
e
l
e
as
e
Numbe
r
)
;
l
i
s
t
Doc
.
add(
doc
ume

nt
)
;
}
di
s
c
onne
c
t
(
)
;
}c
a
t
c
h(
Ex
c
e
pt
i
one
){
e
.
pr
i
nt

St
a
c
kTr
ac
e
(
)
;
}
r
e
t
ur
nl
i
s
t
Doc
;
}

Và để hiển thị dữ liệu được lấy từ database DefaultTableModel sẽ thêm các dữ liệu
kiểu Document vào để hiện thị lên Table
pr
i
va
t
evoi
ds

ho
wDoc
I
nTa
bl
e
(
){
Ar
r
a
yLi
s
t
ume
nt
>l
i
s
t
;
l
i
s
t=ge
t
Al
l
Doc

ume
nt
(
)
;
f
or(
Doc
ume
ntdoc
ume
nt:
l
i
s
t
){
mode
l
.
addRow(
doc
ume
nt
.
t
oAr
r
a
y(

)
)
;
}
}

15

download by :


Đề tài 2-Quản lí các tài liệu trong thư viện

Khi model thêm các dữ liệu mới kiểu dữ liệu được thêm vào model sẽ là 1 mảng
Object.Do đó,chúng em đã xây dựng phương thức toArray( ) ở lớp Document
publ
i
cObj
e
c
t
[
]t
oAr
r
a
y(
){
r
et

ur
nne
w Obj
e
c
t
[
]{i
D,t
ype
,doc
ume
nt
Na
me
,
a
ut
hor
,
publ
i
s
he
r
,
r
e
l
e

a
s
e
Numbe
r}
;
}

8. Tìm kiếm dữ liệu
Khi muốn tìm kiếm, chỉ cần nhập kí tự có liên quan đến dữ liệu cần tìm. Kí tự
sẽ so sánh với các dữ liệu trong database, dữ liệu nào có kí tự giống với kí tự trong
TextField tìm kiếm sẽ được hiển thị bất kể là ID,Type,Document Name,Author,
Publisher, Release . Đầu tiên, chúng em sẽ tạo 1 phương thức để tìm kiếm dữ liệu và
hiển thị lên Table.
pr
i
va
t
evoi
dfil
l
Doc
J
Ta
bl
e
(
St
r
i

ngval
ue
ToSe
ar
c
h){
c
onne
c
t
(
)
;
t
r
y{
S
t
r
i
ngque
r
y="
s
e
l
e
c
t*
f

r
om Li
br
a
r
ywhe
r
eI
Dl
i
ke'
%"+
val
ue
ToSe
ar
c
h+"
%'
orT
ypel
i
ke'
%"
+va
l
ue
ToSe
a
r

c
h+"
%'
orDoc
ume
nt
Na
mel
i
ke
l
ue
ToSe
ar
c
h+"
%'
orAut
horl
i
ke'
%"
+val
ue
ToSe
a
r
c
h+"
%'

orPubl
i
s
he
rl
i
ke
'
%"+va
'
%"+va
l
ue
ToSe
ar
c
h+"
%'
orRe
l
e
a
s
e
Numbe
rl
i
ke'
%"
+val

ue
ToSe
a
r
c
h+"
%'
"
;
Re
s
ul
t
Se
tr
s=s
t
mt
.
e
x
e
c
ut
e
Que
r
y(
que
r

y)
;
De
f
aul
t
Tabl
e
Mode
lmode
l=(
De
f
aul
t
Tabl
e
Mode
l
)
t
a
bl
e
.
ge
t
Mode
l
(

)
;
Obj
e
c
t
[
]r
ow;
whi
l
e(
r
s
.
ne
xt
(
)
){
r
ow =ne
w Obj
e
c
t
[
6
]
;

r
ow[
0]=r
s
.
ge
t
I
nt
(
1)
;
r
ow[
1]=r
s
.
ge
t
St
r
i
ng(
2
)
;
r
ow[
2]=r
s

.
ge
t
St
r
i
ng(
3
)
;
r
ow[
3]=r
s
.
ge
t
St
r
i
ng(
4
)
;
r
ow[
4]=r
s
.
ge

t
St
r
i
ng(
5
)
;
r
ow[
5]=r
s
.
ge
t
I
nt
(
6)
;
mode
l
.
addRow(
r
ow)
;
}
di
s

c
onne
c
t
(
)
;
}c
a
t
c
h(
SQLEx
c
e
pt
i
one
){
e
.
pr
i
nt
St
ac
kTr
a
c
e

(
)
;
}
}

16

download by :


Đề tài 2-Quản lí các tài liệu trong thư viện
Bắt sự kiện khi nhập 1 kí tự vào TextField,kí tự đó là kí tự có liên quan đến dữ liệu
muốn tìm kiếm
pr
i
va
t
evoi
ds
ho
wDa
t
a
Whe
nFi
nd(
){
t
f

Fi
nd.
a
ddKe
yLi
s
t
e
ne
r
(
ne
w Ke
yAda
pt
e
r
(
){
@Ove
r
r
i
de
publ
i
cvoi
dke
yRe
l

e
a
s
e
d(
Ke
yEve
ntar
g0){
mode
l
.
s
e
t
RowCount
(
0
)
;
fil
l
Doc
J
Ta
bl
e
(
t
f

Fi
nd.
ge
t
Te
xt
(
)
)
;
}
}
)
;
}

3.2. Kết quả chương trình
Chương trình thơng báo khi thêm thành cơng 1 tài liệu mới:

Chương trình thơng báo khi xóa thành cơng 1 tài liệu:

17

download by :


Đề tài 2-Quản lí các tài liệu trong thư viện

Chương trình thơng báo khi cập nhật thành cơng 1 tài liệu:


Chương trình hiện lên kết quả tìm kiếm lên Table khi nhập 1 kí tự có liên quan đến dữ
liệu cần tìm:

18

download by :


Đề tài 2-Quản lí các tài liệu trong thư viện

19

download by :


3.3. Kết quả thử nghiệm
Sau khi thử nghiệm nhiều lần, chương trình của nhóm chúng em đã hồn thành
chương trình.

download by :


Đề tài 2-Quản lí các tài liệu trong thư viện

CHƯƠNG 4. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
-

Nhóm chúng em đã hồn thành chương trình. Trong đó có những ưu điểm và
những nhược điểm sau :
+ Ưu điểm : Chương trình đã thực hiện được các chức năng thêm,sửa,xóa,tìm

kiếm các tài liệu trong thư viện thông qua lưu trữ trên database. Giao diện thân
thiện,dễ dàng sử dụng
+ Nhược điểm : chương trình cần bổ sung 1 số trường dữ liệu.

-

Nhóm chúng em sẽ có những cải tiến cho chương trình. Chúng em tin rằng
những bản nâng cấp chương trình sau đó có thể ứng dụng vào thư viện của các
trường.

Trong thời gian thực hiện chương trình, nhờ sự chỉ bảo của thầy Trần Hải
Anh và sự giúp đỡ của các bạn, nhóm chúng em đã thu được nhiều kết quả trong
việc học lập trình Java.
Do thời gian và khả năng có hạn nên bài tập lớn của nhóm chúng em cịn
rất nhiều thiếu sót, chúng em rất mong nhận được sự góp ý, giúp đỡ của thầy và
các bạn để bài tập của chúng em được hoàn thiện hơn. Chúng em xin cảm ơn !

21

download by :


Đề tài 2-Quản lí các tài liệu trong thư viện

TÀI LIỆU THAM KHẢO
[1] Đồn Văn Ban. Lập trình hướng đối tượng với Java. Nhà xuất bản Khoa học kỹ
thuật, 2003.
[2] Ebook Giáo trình SQL - Trần Nguyên Phong (PDF) - Technology Diver
(cuongquach.com)
/>[3] />[4] />

22

download by :


Đề tài 2-Quản lí các tài liệu trong thư viện
PHỤ LỤC
Cách cài đặt chương trình:
- B1: tải và cài đặt JDK tại địa chỉ :
/>- B2 : tải và cài đặt IDE Eclipse tại địa chỉ:
/>- B3: tải file code “ProjectTeam2.2” tại địa chỉ dưới và giải nén:
/>- B4: tải và cài đặt SQL Sever tại địa chỉ:
/>- B5 : tải công cụ hỗ trợ cho SQL Sever giúp cấu hình dễ dàng hơn: Cơng cụ
Microsoft SQL Sever Management Studio
/>- B6: Tải file database “DB_Project” tại địa chỉ :
/>- B7 : mở file code đã giải nén bằng IDE Eclipse, sau đó dùng cơng cụ Microsoft
SQL Sever Management Studio để import file database vào.
- B8 : Cấu hình “user” và “ password” như mong muốn ở công cụ Microsoft SQL
Sever Management Studio và thay đổi “user”, “password” vào phương thức
connect( ) trong lớp DocumentUI. Hoàn thành cài đặt !
Cách sử dụng chương trình:
- Khi muốn thêm 1 tài liệu mới, đầu tiên cần nhập đủ thông tin vào các TextField

Sau đó, nhấn vào nút “Add”, nếu thêm tài liệu thành cơng sẽ có thơng báo
“Data Added Successfully” và Table sẽ hiện lên dữ liệu mới được thêm vào

23

download by :



Đề tài 2-Quản lí các tài liệu trong thư viện

o

-

Lưu ý : Cần nhập đầy đủ tất cả thông tin vào TextField, nếu qn chưa
nhập đủ thơng tin sẽ có thơng báo u cầu nhập vào TextField cịn chưa
có dữ liệu và TextField “Release Number” cần nhập kí tự là chữ số,nếu
nhập kí tự thì TextField sẽ khơng nhận kí tự là chữ.

Khi muốn xóa thơng tin 1 tài liệu, chỉ cần chọn vào tài liệu muốn xóa và nhấn
nút “Delete”. Sau khi xóa thành cơng sẽ có thơng báo “Data Deleted
Successfully”. Table sẽ cập nhật lại các dữ liệu còn lại và hiển thị lên bảng

24

download by :


Đề tài 2-Quản lí các tài liệu trong thư viện

-

Khi muốn chỉnh sửa 1 dữ liệu nào đó, chỉ cần chọn vào 1 dữ liệu trên Table và
chỉnh sửa thông tin mong muốn bên các TextField

Sau đó chọn vào nút “Update”. Khi cập nhật dữ liệu thành cơng sẽ có thông
báo: “Data Updated Successfully”. Table sẽ cập nhật lại thông tin vừa chỉnh

sửa.

-

Khi muốn nhập lại tất cả các TextField chỉ cần chọn nút “Clear” tất cả thông tin
được nhập ở các TextField sẽ được làm mới.
Khi muốn tìm kiếm thơng tin tài liệu, chỉ cần nhập kí tự mà trong tài liệu cần
tìm vào TextField “Enter Value To Search” có chứa kí tự đó. Bất kể là
ID,Type,Document Name,Author, Publisher, Release nếu có chứa kí tự mà
người dùng nhập vào thì sẽ hiện lên trên Table

25

download by :


×