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

