Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 27 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
27
Dung lượng
351,89 KB
Nội dung
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 : skknchat@gmail.com Đề 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 1.1.Đặt vấn đề 1.2.Tổng quan các công nghệ sử dụng 1.3.Mục tiêu đặt ra CHƯƠNG 2 CÔNG NGHỆ SỬ DỤNG 2.1.Công nghệ Java 2.1.1.Giới thiệu chun 2.1.2.Mô tả 2.2.Công nghệ SQL 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 1.Lớp Document 2.Lớp DocumentUI 3.1.2 Các tương tác 1.Kết nối và ngắt kết nối với d 2 Phương thức thực thi câu truy vấn khi nhấn vào Button 3.Button “Add” 4.Button “Update” 5.Button “Delete” 6.Button “Clear” 7.Hiển thị dữ liệu lên Table 8 Tìm kiếm dữ liệu 3.2 Kết quả chương trình 3.3 Kết quả thử nghiệm CHƯƠNG 4 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN Tài liệu tham khảo………………………………………………………….…22 Phụ lục…………………………………………………………………………23 2 download by : skknchat@gmail.com Đề 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 quá 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 hoàn toà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 : skknchat@gmail.com Đề 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 Họ tên 1 Phạm Tuấn Hưng 2 Nguyễn Thái An 3 Đỗ Văn Vũ 4 download by : skknchat@gmail.com Đề 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 - Hoà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 : skknchat@gmail.com Đề 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 hoàn toà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 : skknchat@gmail.com Đề 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 : skknchat@gmail.com Đề 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 : skknchat@gmail.com Đề 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 : skknchat@gmail.com Đề 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 privatevoidconnect(){ try{ StringdbURL="jdbc:sqlserver://localhost;database=miniproject;"; Stringuser="sa"; Stringpass="123456"; con=DriverManager.getConnection(dbURL,user,pass); smt=con.createStatement(); }catch(SQLExceptione){ System.out.println(e); 10 download by : skknchat@gmail.com download by : skknchat@gmail.com Đề 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 privatevoidsetDataOnTFWhenSelect(){ table.addMouseListener(new MouseAdapter(){ @Override publicvoidmouseClicked(MouseEventarg0){ inti=table.getSelectedRow(); tfSelectRow.setText(i+""); model=(DefaultTableModel)table.getModel(); tfID.setText(model.getValueAt(i,0).toString(); tfType.setText(model.getValueAt(i,1).oString(); tfNameDoc.setText(model.getValueAt(i,2).oString(); tfAuthor.setText(model.getValueAt(i,3).oString(); tfPublisher.setText(model.getValueAt(i,4).oString(); tfReleaseNumber.setText(model.getValueAt(i,5).oString(); }); } } 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 yê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 privatevoidactionPerformedBTUpdate(){ if(table.getSelectedRow()