Giáo trình Lập trình Java - Hệ thống thông tin
Đặc điểm ngôn ngữ lập trình Java
Ngôn ngữ Java có các đặc trưng:
– Đơn giản: Java đã cải tiến dễ dàng hơn bằng cách loại bỏ tất cả các phức tạp như
con trỏ, các toán tử, phương thức nạp chồng (overload)như bạn thấy trong C ++ hoặc
bất kỳ ngôn ngữ lập trình nào khác.
– Hướng đối tượng: Mọi thứ được coi là một đối tượng khác nhau, có sở hữu các
thuộc tính và tất cả các hoạt động được thực hiện bằng cách sử dụng các đối tượng
này.
– Độc lập: Java độc lập với nền tảng, có nghĩa là mọi ứng dụng được viết trên một nền
tảng đều có thể dễ dàng chuyển sang nền tảng khác.
– Mạnh mẽ: Java có một hệ thống quản lý bộ nhớ mạnh. Nó giúp loại bỏ lỗi vì nó
kiểm tra Code trong quá trình biên dịch và runtime.
– Bảo mật: Tất cả các mã được chuyển đổi sang byteCode sau khi biên dịch, không
thể đọc được bởi con người và chạy các chương trình bên trong Sandbox để ngăn chặn
mọi hoạt động từ các nguồn không đáng tin cậy. Nó cho phép phát triển các hệ thống /
ứng dụng không có virus, giả mạo.
– Phân tán: Java cung cấp một tính năng giúp tạo các ứng dụng phân tán. Sử dụng
phương thức từ xa(RMI), một chương trình có thể gọi một phương thức của một
chương trình khác thông qua và nhận được đầu ra. Bạn có thể truy cập các file bằng
cách gọi các phương thức từ bất kỳ máy nào trên internet.
– Đa luồng: Java hỗ trợ nhiều luồng thực thi, bao gồm một tập hợp các nguyên hàm
đồng bộ hóa. Điều này làm cho lập trình với các chủ đề dễ dàng hơn nhiều.
– Linh hoạt: Nó có khả năng thích ứng với môi trường phát triển hỗ trợ cấp phát bộ
nhớ động do giảm lãng phí bộ nhớ và hiệu suất của ứng dụng được tăng lên.
– Hiệu suất cao: Java đạt được hiệu suất cao thông qua việc sử dụng byteCode có thể
dễ dàng dịch sang mã máy. Với việc sử dụng các trình biên dịch JIT (Just-In-Time),
Java mang lại hiệu năng cao.
– Thông dịch: Java được biên dịch thành byteCode, được thông dịch bởi môi trường
Java run-time.
Trang 1
Trang 2
Trang 3
Trang 4
Trang 5
Trang 6
Trang 7
Trang 8
Trang 9
Trang 10
Tải về để xem bản đầy đủ
Tóm tắt nội dung tài liệu: Giáo trình Lập trình Java - Hệ thống thông tin
t phần mã tự nhiên của DBMS. * Native driver và Vendor client library cần được cài trên mỗi máy client. KHOA CÔNG NGHỆ THÔNG TIN 70 Chương 4: Lập trình cơ sở dữ liệu Network Protocol Driver Network Protocol Driver sử dụng phần mềm trung gian (máy chủ ứng dụng) để chuyển đổi các cuộc gọi JDBC trực tiếp hoặc gián tiếp thành giao thức cơ sở dữ liệu dành riêng cho nhà cung cấp. Nó được viết hoàn toàn bằng java. Hình 4.4: Network Protocol Driver Thin Driver Thin driver chuyển đổi các cuộc gọi JDBC trực tiếp thành giao thức cơ sở dữ liệu dành riêng cho nhà cung cấp. Đó là lý do tại sao nó được gọi là trình điều khiển mỏng. Nó được viết hoàn toàn bằng ngôn ngữ Java. Hình 4.5: Thin Driver KHOA CÔNG NGHỆ THÔNG TIN 71 Chương 4: Lập trình cơ sở dữ liệu 4.3 Lập trình kết nối đến CSDL Để kế nối cơ sở dữ liệu, trước tiên cần phải có cơ sở dữ liệu trước sau đó thực hiện 7 bước sau: 1. Nạp driver 2. Kết nối CSDL bằng đối tượng Connection 3. Tạo đối tượng Statement 4. Thi hành câu truy vấn 5. Đóng kết nối Bước 1: Nạp driver Cú pháp public static void forName(String className) throws ClassNotFoundException Ví dụ try { Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver"); Class.forName("net.sourceforge.jtds.jdbc.Driver"); } catch { ClassNotFoundException cnfe) { System.out.println("Error loading driver: " cnfe); } Bước 2: Kết nối CSDL bằng đối tượng Connection Cú pháp public static Connection getConnection(String url)throws SQLException public static Connection getConnection(String url,String name,String password) throws SQLException Ví dụ Connection con=DriverManager.getConnection( "jdbc:oracle:thin:@localhost:1521:xe","system","password"); Có thể định nghĩa url trước String myURL = "jdbc:odbc:myBook“ ; String myURLtype_4 = " jdbc:oracle:thin:@localhost:1521:xe "; * Mỗi loại loại cơ sở dữ liệu sẽ có driver tương ứng. KHOA CÔNG NGHỆ THÔNG TIN 72 Chương 4: Lập trình cơ sở dữ liệu Bước 3: Tạo đối tượng Statement Cú pháp public Statement createStatement() throws SQLException Ví dụ Statement stmt=con.createStatement(); Bước 4: Thi hành câu truy vấn Cú pháp public ResultSet executeQuery(String sql) throws SQLException Ví dụ ResultSet rs=stmt.executeQuery("select * from emp"); while(rs.next()){ System.out.println(rs.getInt(1)+" "+rs.getString(2)); } Bước 5: Đóng kết nối Cú pháp public void close() throws SQLException Ví dụ con.close(); Ví dụ ứng dụng java kết nối với cơ sở dữ liệu mysql import java.sql.*; class MysqlCon{ public static void main(String args[]){ try{ Class.forName("com.mysql.jdbc.Driver"); Connection con=DriverManager.getConnection( "jdbc:mysql://localhost:3306/sonoo","root","root"); // sonoo là cơ sở dữ liệu, root is username và password Statement stmt=con.createStatement(); ResultSet rs=stmt.executeQuery("select * from emp"); KHOA CÔNG NGHỆ THÔNG TIN 73 Chương 4: Lập trình cơ sở dữ liệu while(rs.next()) System.out.println(rs.getInt(1)+" "+rs.getString(2)+" "+rs.getString(3)); con.close(); }catch(Exception e){ System.out.println(e);} } } 4.4 Thao tác xử lý trên CSDL Hướng dẫn các thao tác xử lý trên cơ sở dữ liệu thông qua ví dụ quản lý nhân viên. Hình 4.6: Ví dụ Quản lý nhân viên Yêu cầu: - Dữ liệu được tải vào bảng (JTable) khi form được mở. - Khi người dùng chọn một dòng trong bảng thì dữ liệu được hiển thị vào các điều khiển JText ở phía trên. - Thực hiện các chức năng thêm, xóa, sửa, cập nhật. KHOA CÔNG NGHỆ THÔNG TIN 74 Chương 4: Lập trình cơ sở dữ liệu Hướng dẫn thực hiện Bước 1: Thiết kế form Hình 4.7: Bước 1 Thiết kế form Bước 2: Chuẩn bị cơ sở dữ liệu cho quản lý nhân viên Hình 4.8: Bước 2 Chuẩn bị cơ sở dữ liệu KHOA CÔNG NGHỆ THÔNG TIN 75 Chương 4: Lập trình cơ sở dữ liệu Bước 3: Viết mã để tải dữ liệu vào Jtable Hình 4.9: Bước 3 Viết mã Bước 4: Viết mã thực hiện chức năng nhấn chọn dòng trong JTable Hình 4.10: Viết mã thực hiện chức năng chọn dòng trong JTable Bước 5: Viết mã thực hiện chức năng New Hình 4.11: Viết mã thực hiện chức năng chọn New KHOA CÔNG NGHỆ THÔNG TIN 76 Chương 4: Lập trình cơ sở dữ liệu Bước 6: Viết mã thực hiện chức năng Save Hình 4.12: Viết mã thực hiện chức năng Save Bước 7: Viết mã thực hiện chức năng Update Hình 4.13: Viết mã thực hiện chức năng Update Bước 8: Viết mã thực hiện chức năng Delete KHOA CÔNG NGHỆ THÔNG TIN 77 Chương 4: Lập trình cơ sở dữ liệu Hình 4.14: Viết mã thực hiện chức năng Delete KHOA CÔNG NGHỆ THÔNG TIN 78 Chương 4: Lập trình cơ sở dữ liệu BÀI TẬP CHƯƠNG 4 Bài tập 1: Viết chương trình để kiểm tra kiến thức java cơ bản. Trong khi chờ kết quả, người dùng có thể đánh dấu câu hỏi để xem lại. KHOA CÔNG NGHỆ THÔNG TIN 79 Chương 4: Lập trình cơ sở dữ liệu Bài tập 2: Viết ứng dụng quản lý thư viện gồm có người dùng và chức năng người dùng như sau: Người dùng hệ thống: Admin (quản trị) và Libraian (thủ thư) Yêu cầu chức năng đối với người dùng: 1. Admin add/view/delete librarian logout 2. Librarian add/view books issue books (cho mượn sách) View issued books (xem sách đã mượn) Return Books Logout KHOA CÔNG NGHỆ THÔNG TIN 80 Chương 4: Lập trình cơ sở dữ liệu KHOA CÔNG NGHỆ THÔNG TIN 81 Chương 4: Lập trình cơ sở dữ liệu Bài tập 3: Viết ứng dụng quản lý việc thanh toán học phí của sinh viên. Người dùng hệ thống: Admin và Accountant (kế toán) Yêu cầu chức năng: 1. Admin - add/view/edit/delete accountant - logout 2. Accountant - add/view/edit/delete students - check due fee - logout KHOA CÔNG NGHỆ THÔNG TIN 82 Chương 4: Lập trình cơ sở dữ liệu KHOA CÔNG NGHỆ THÔNG TIN 83 Chương 4: Lập trình cơ sở dữ liệu KHOA CÔNG NGHỆ THÔNG TIN 84 Chương 4: Lập trình cơ sở dữ liệu KHOA CÔNG NGHỆ THÔNG TIN 85 Chương 4: Lập trình cơ sở dữ liệu KHOA CÔNG NGHỆ THÔNG TIN 86 TÀI LIỆU THAM KHẢO [1] Phạm Văn Trung & Cộng sự, “Lập trình Java căn bản”, Xây dựng, 2018. [2] Trần Đan Thư, “Lập trình Java căn bản”, Lao động xã hội, 2005. [3] Tập bài giảng FPoly, Lập trình Java 1,2, 3 Cao đẳng FPoly, 2012. [4] JavaTpoint, Ngôn ngữ Java, Liên kết https://www.javatpoint.com/java-tutorial, Ngày truy cập 26/09/2020. [5] Oracle Java Document, Luồng nhập xuất, Liên kết https://docs.oracle.com/javase/tutorial/essential/io/streams.html, Ngày truy cập 24/09/2020. [6] Oracle Java Document, “Creating a GUI with Swing”, Liên kết https://docs.oracle.com/javase/tutorial/uiswing/, Ngày truy cập 15/10/2020. [7] Oracle Java Document, “Learning the Java Language”, Liên kết https://docs.oracle.com/javase/tutorial/java/index.html, Ngày truy cập 15/10/2020. KHOA CÔNG NGHỆ THÔNG TIN 87 DANH MỤC HÌNH ẢNH Hình 1.1: JDK - Nguồn [4] .......................................................................................... 9 Hình 2.1: Ví dụ nội dung cơ bản của tập tin Java ....................................................... 12 Hình 2.2: Kết quả Ví dụ ............................................................................................. 16 Hình 2.3: Kết quả ví dụ .............................................................................................. 16 Hình 2.4: Kết quả....................................................................................................... 21 Hình 2.5: Mảng - Nguồn [3] ...................................................................................... 21 Hình 2.6: Ví dụ sắp xếp mảng .................................................................................... 23 Hình 2.7: Ví dụ sắp xếp giảm dần .............................................................................. 24 Hình 2.8: Kết quả....................................................................................................... 25 Hình 2.9: Luồng nhập - Nguồn [5] ............................................................................. 28 Hình 2.10: Các lớp của luồng nhập – Nguồn [5] ........................................................ 29 Hình 2.11: Luồng xuất - Nguồn [5] ............................................................................ 29 Hình 2.12: Các lớp luồng xuất – Nguồn [5] ............................................................ 29 Hình 2.13: Kết quả xuất ký tự vào tập tin ............................................................... 30 Hình 2.14: Kết quả xuất chuỗi vào tập tin .................................................................. 31 Hình 2.15: Nội dung tập tin sẽ được đọc .................................................................... 32 Hình 3.1: Hình minh họa giao diện ............................................................................ 34 Hình 3.2: Tạo Package ............................................................................................... 35 Hình 3.3: Tạo lớp ....................................................................................................... 35 Hình 3.4: Cấu trúc chung của một giao diện .............................................................. 36 Hình 3.5: Các lớp trong AWT .................................................................................... 37 Hình 3.6: Các lớp của Swing ..................................................................................... 38 Hình 3.7: Ví dụ BorderLayout ................................................................................... 39 Hình 3.8: Ví dụ FlowLayout ...................................................................................... 41 Hình 3.9: Ví dụ GridLayout ....................................................................................... 43 Hình 3.10: Ví dụ GridBagLayout............................................................................ 45 Hình 3.11: Ví dụ BoxLayout ...................................................................................... 47 KHOA CÔNG NGHỆ THÔNG TIN 88 Hình 3.12: Ví dụ GroupLayout .................................................................................. 48 Hình 3.13: Ví dụ CardLayout ..................................................................................... 50 Hình 3.14: Ví dụ ScrollPaneLayout ........................................................................... 52 Hình 3.15: Ví dụ SpringLayout .................................................................................. 53 Hình 3.16: JFrame ..................................................................................................... 56 Hình 3.17: Swing Containers ..................................................................................... 56 Hình 3.18: Swing Controls......................................................................................... 57 Hình 3.19: JRadioButton ........................................................................................... 58 Hình 3.20: JComboBox ............................................................................................. 58 Hình 3.21: JOptionPane dạng Confirm ...................................................................... 58 Hình 3.24: JOptionPane dạng Message ...................................................................... 59 Hình 3.22: JOptionPane dạng Input ........................................................................... 59 Hình 3.23: Ví dụ form Đăng nhập .............................................................................. 59 Hình 3.25: Xử lý sự kiện đăng nhập ........................................................................... 60 Hình 3.26: Bước 1- Xử lý sự kiện .............................................................................. 60 Hình 3.27: Ví dụ Bắt sự kiện với JRadio .................................................................... 61 Hình 3.28: Chọn sự kiện ............................................................................................ 63 Hình 3.29: Bắt sự kiện với JComboBox ..................................................................... 64 Hình 3.30: Chọn sự kiện ............................................................................................ 65 Hình 4.1: Kiến trúc JDBC .......................................................................................... 69 Hình 4.2: JDBC-ODBC Bridge Driver ....................................................................... 70 Hình 4.3: Native Driver ............................................................................................. 70 Hình 4.4: Network Protocol Driver ............................................................................ 71 Hình 4.5: Thin Driver ................................................................................................ 71 Hình 4.6: Ví dụ Quản lý nhân viên............................................................................. 74 Hình 4.7: Bước 1 Thiết kế form ................................................................................. 75 Hình 4.8: Bước 2 Chuẩn bị cơ sở dữ liệu ................................................................... 75 Hình 4.9: Bước 3 Viết mã .......................................................................................... 76 Hình 4.10: Viết mã thực hiện chức năng chọn dòng trong JTable .............................. 76 KHOA CÔNG NGHỆ THÔNG TIN 89 Hình 4.11: Viết mã thực hiện chức năng chọn New ................................................... 76 Hình 4.12: Viết mã thực hiện chức năng Save............................................................ 77 Hình 4.13: Viết mã thực hiện chức năng Update ........................................................ 77 Hình 4.14: Viết mã thực hiện chức năng Delete ......................................................... 78 KHOA CÔNG NGHỆ THÔNG TIN 90 DANH MỤC BẢNG Bảng 2.1: Kiểu dữ liệu .............................................................................................. 13 Bảng 2.2: Toán tử số học .......................................................................................... 14 Bảng 2.3: Toán tử so sánh ......................................................................................... 15 Bảng 2.4: Toán tử luận lý .......................................................................................... 15 Bảng 2.5: Bảng ký tự đặc biệt ................................................................................... 24 Bảng 2.6: Phương thức của chuỗi ............................................................................. 25 Bảng 2.7: Kiểu dữ liệu cơ sở và lớp bao tương ứng................................................... 26 Bảng 2.8: Phương thức của FileOutputStream .......................................................... 30 Bảng 2.9: Phương thức FileInputStream ................................................................... 31 KHOA CÔNG NGHỆ THÔNG TIN 91
File đính kèm:
- giao_trinh_lap_trinh_java_he_thong_thong_tin.pdf