Mục tiêu của Giáo trình Lập trình Java là giúp các bạn hiểu biết về ngôn ngữ lập trình Java, lập trình hướng đối tượng trong Java; trình bày được các mô hình lập trình giao diện, xử lý sự kiện trong Java; trình bày được các bước lập trinh truy xuất cơ sở dữ liệu. Mời các bạn cùng tham khảo!
ỦY BAN NHÂN DÂN TỈNH AN GIANG TRƢỜNG CAO ĐẲNG NGHỀ AN GIANG GIÁO TRÌNH MƠ ĐUN: Lập Trình Java NGÀNH/NGHỀ: LẬP TRÌNH MÁY TÍNH TRÌNH ĐỘ: CAO ĐẲNG (Ban hành theo Quyết định số: /QĐ-CĐN, ngày tháng năm 20 Hiệu trưởng trường Cao đẳng nghề An Giang) An Giang, Năm ban hành: TUYÊN BỐ BẢN QUYỀN Tài liệu thuộc loại sách giáo trình nên nguồn thơng tin đƣợc phép dùng ngun trích dùng cho mục đích đào tạo tham khảo Mọi mục đích khác mang tính lệch lạc sử dụng với mục đích kinh doanh thiếu lành mạnh bị nghiêm cấm LỜI GIỚI THIỆU Ngôn ngữ lập trình java đời đƣợc nhà nghiên cứu Công ty Sun Microsystem giới thiệu vào năm 1995 Sau đời khơng lâu, ngơn ngữ lập trình đƣợc sử dụng rộng rãi phổ biến lập trình viên chuyên nghiệp nhƣ nhà phát triển phần mềm Gần ngôn ngữ lập trình, cơng nghệ java đƣợc đƣa vào giảng dạy sở đào tạo lập trình viên chuyên nghiệp Tài liệu giúp tìm hiểu java cách viết ứng dụng ngôn ngữ An Giang, ngày tháng năm 20… Tham gia biên soạn Ths Vũ Trường Duy 2…………… ………… MỤC LỤC LỜI GIỚI THIỆU GIÁO TRÌNH MƠ ĐUN BÀI 1: THIẾT LẬP MƠI TRƢỜNG LẬP TRÌNH JAVA I/ Cài đặt mơi trƣờng lập trình Java II/ Biên dịch, chạy chƣơng trình Bài tập: 10 BÀI 2: JAVA CƠ BẢN 11 I/ Cấu trúc chƣơng trình viết Java 11 II/ Hằng, biến, kiểu liệu, toán tử, từ khóa 11 III/ Các cấu trúc điều khiển 15 IV/ Mảng chuỗi Java 17 Bài tập: 21 BÀI 3: HƢỚNG ĐỐI TƢỢNG TRONG JAVA 22 I/ Lớp Java 22 II/ Tính kế thừa 26 III/ Các ví dụ minh họa 26 Bài tập: 30 BÀI 4: LẬP TRÌNH GIAO DIỆN 32 I/ Giới thiệu thiết kế giao diện Java 32 II/ Các thành phần (Component) 32 III/ Các đối tƣợng khung chứa (Containers) 41 IV/ Các quản lý trình bày (Layout managers) 44 Bài tập: 50 BÀI 5: LẬP TRÌNH SỰ KIỆN 51 I/ Các ví dụ mở đầu 51 II/ Mơ hình xử lý kiện Java 54 III Các lắng nghe kiện 56 IV Các thành phần component nâng cao 58 V/ Xử lý kiện chuột 59 VI/ Xử lý kiện bàn phím 59 Bài tập: 60 BÀI 6: XỬ LÝ NGOẠI LỆ 61 I/ Xử lý lỗi Java 61 II Các lớp ngoại lệ (Exceptions) 61 III/ Xây dựng lớp ngoại lệ 62 Bài tập: 63 BÀI 7: KẾT NỐI CƠ SỞ DỮ LIỆU 64 I/ Các trình điều khiển JDBC 64 II/ Các bƣớc lập trình truy xuất sở liệu 65 III/ Các đối tƣợng lập trình sở liệu 65 IV/ Xử lý trình bày liệu 66 Bài tập: 68 CÁC THUẬT NGỮ CHUYÊN MÔN 70 GIÁO TRÌNH MƠ ĐUN Tên mơ đun : LẬP TRÌNH JAVA Mã mô đun: MĐ23 Thời gian thực mô đun: 75 (Lý thuyết: 20 giờ, thực hành, thí nghiệm, thảo luận: 53giờ, tập: giờ, kiểm tra: giờ) I VỊ TRÍ, TÍNH CHẤT CỦA MƠ ĐUN Vị trí: thuộc nhóm Mơ đun chun mơn nghề Tính chất: Là Mơ đun chun mơn bắt buộc ngành lập trình máy tính hệ Cao đẳng Ý nghĩa vai trị mơ đun: Mơ đun cung cấp cho sinh viên kiến thức lập trình Java, bao gồm: kiểu liệu, phép toán, cấu trúc điều khiển, khái niệm lập trình hƣớng đối tƣợng, tạo sử dụng lớp Mô đun bao gồm kiến thức để viết ứng dụng giao diện ngƣời dùng, truy xuất sở liệu II MỤC TIÊU CỦA MÔ ĐUN Kiến thức: + Hiểu biết ngôn ngữ lập trình Java, lập trình hƣớng đối tƣợng Java + Trình bày đƣợc mơ hình lập trình giao diện, xử lý kiện ừong Java + Trình bày đƣợc bƣớc lập trinh truy xuất sở liệu Kỹ năng: + Sử dụng đƣợc ngôn ngữ lập trình hƣớng đối tƣợng cụ thể (Java) + Sử dụng đƣợc mơi trƣờng phát triển phần mềm tích họp (IDE) phục vụ cho việc lập trình bang Java + Có đƣợc kỹ sử dụng ngơn ngữ Java để lập trình dịng lệnh, lập trình giao diện đồ họa, lập trình kiện, lập trình truy xuất sở liệu Năng lực tự chủ trách nhiệm + Cẩn thận, tỉ mỉ, tự giác học tập nghiên cứu III NỘI DUNG MÔ ĐUN Số TT Tên mô đun Tổng số Bài mở đầu: Bài 1: Thiết lập mơi trƣờng lập trình Java Cài đặt mơi trƣờng lập trình Java Biên dịch, chạy chƣơng trình Thời gian (giờ) Thực hành, thí Lý nghiệm, thảo thuyết luận, tập Kiểm tra 5 Bài 2: Java Cấu trúc chƣơng trình viết Java Hằng, biến, kiểu liệu, tốn tử, từ khóa Các cấu trúc điều khiển Mảng chuỗi Java Bài 3: Hƣớng đối tƣợng Java Lớp Java Tính kế thừa Các ví dụ minh họa Bài 4: Lập trình giao diện Giới thiệu thiết kế giao diện Java Các thành phần (component) Các đối tƣợng khung chứa (containers) Các quản lý trình bày (layout managers) Bài 5: Lập trình kiện Các ví dụ mở đầu Mơ hình xử lý kiện Java Các lắng nghe kiện Các thành phần component nâng cao Xử lý kiện chuột Xử lý kiện bàn phím Bài 6: Xử lý ngoại lệ Xử lý lỗi Java Các lớp ngoại lệ (exceptions) Xây dựng lớp ngoại lệ Bài 7: Kết nối sở liệu Các trình điều khiển JDBC Các bƣớc lập trình truy xuất sở liệu Các đối tƣợng lập trình sở liệu 12 12 16 12 16 11 1 Xử lý trình bày liệu Ôn tập Cộng 75 20 53 BÀI 1: THIẾT LẬP MÔI TRƢỜNG LẬP TRÌNH JAVA Mục tiêu: - Cài đặt đƣợc mơi trƣờng lập trình Java - Biên dịch chạy đƣợc chƣơng trình Java Nội dung chính: I/ Cài đặt mơi trƣờng lập trình Java 1/ Các phần mềm cần chuẩn bị: - JDK 1.6 (jdk-6u11-windows-i586-p) - JDK DOC 1.6 (jdk-6u10-docs) Tải từ trang web: http://java.sun.com/javase/downloads/index.jsp - JCreator 4.5 Tải từ trang web: http://www.jcreator.com/download.htm - Nếu không dùng IDE nhƣ JCreator để soạn thảo, dịch thực thi ta dùng trình soạn thảo văn nhƣ NotePad để soạn thảo 2/ Trình tự cài đặt: Nên cài đặt theo trình tự sau: - Cài JDK 1.6 - Thiết lập biến môi trƣờng PATH, CLASPATH - Cài JDK Doc 1.6 - JCreator 4.5 - Thiết lập cho JCreator vào JDK Doc 1.6 cài đặt Cài JDK 1.6 - Phần hƣớng dẫn cài hệ điều hành Windows (đối với hệ điều hành khác hãng Microsoft cách cài tƣơng tự) - Tạo thƣ mục C:\Java để cài Nếu khơng để JDK cài ngầm định vào C:\Program Files\Java\jdk1.6.0_11 - Nhấp đúp vào source JDK 1.6 để cài - Thiết lập biến môi trƣờng PATH đến thƣ mục BIN thƣ mục mà ta cài JDK - Thiết lập biến môi trƣờng CLASSPATH đến thƣ mục chƣa lớp ngƣời dùng Từ JDK 1.4 sau, ta không cần quan tâm đến biến CLASSPATH Thiết lập biến môi trƣờng Path Trong Windows, nhấp Start/run gõ vào sysedit Trong cửa sổ AUTOEXEC.BAT gõ chuỗi “set PATH=“ đến thƣ mục BIN JDK cài đặt Ví dụ: set PATH=C:\Program Files\Java\jdk1.6.0_11\bin Sau save đóng cửa sổ sysedit lại khởi động lại máy Cài đặt JDK DOC JDK Doc là tài liệu trợ giúp tra cứu lớp phƣơng thức Java JDK Doc trợ giúp tra hàm lớp soạn thảo JCreator Source JDK Doc dạng file nén Ta tiến hành giải nén vào thƣ mục cài JDK Cài đặt JCreator 4.5 Sau download source JCreator ta tiến hành cài đặt II/ Biên dịch, chạy chƣơng trình 1/ Viết chƣơng trình đơn giản Dùng JCreator viết thực thi chƣơng trình có tên HelloWorldApp Bƣớc 1: Tạo empty project Trên menu JCreator chọn File/New/Project/Empty Project/Next Đặt tên cho project ô Name Chọn thƣ mục chứa project ô Location Nhấn Finish Bƣớc 3: Soạn thảo mã nguồn, dịch thực thi Bài tập: Hãy cài đặt môi trƣờng lập trình Java 10 3/ Các event source & event object III Các lắng nghe kiện 1/ Các Listener Method 56 2/ Đăng ký đối tƣợng lắng nghe - Để đăng ký đối tƣợng nghe ta sử dụng tên phƣơng thức có cấu trúc nhƣ sau: add + loại kiện + Listener(lớp nghe kiện) - Ví dụ với nút Button 57 addActionListener(ActionListener) - Ví dụ với danh sách List addActionListener(ActionListener) addItemListener(ItemListener) IV Các thành phần component nâng cao 1/ Vùng văn (textarea) - Cho phép ngƣời dùng nhập vào nhiều dòng văn - Constructors: • TextArea() • TextArea(int cols, int rows) • TextArea(String S) • TextArea(String S, int rows, int cols) • TextArea(String,int cols, int rows, int Scrollbars) - Common methods: • void setText(String) • String getText() • void setEditable(boolean) • boolean isEditable() • vois insert(String S, int Index) • void replaceRange(String S, int begin, int end) 2/ Khung vẽ (canvas) - Khung vẽ vùng chun để vẽ đồ hoạ, khơng bị che thành phần giao diện khác - Khung vẽ xử lý kiện giống nhƣ Applet - Để sử dụng khung vẽ, cần tạo lớp khác dẫn xuất từ Canvas cài đặt nạp chồng phƣơng thức paint() - Nên gọi setSize cho khung vẽ Toạ độ vẽ (0,0) tính khung vẽ 3/ Thanh trƣợt (scrollbar) - Công cụ nhập trị khoảng số ( biểu diễn Maximum, Minimum) cách kéo trƣợt - Tại thời điểm, trƣợt vi trí mơ tả cho trị hành (Value) - Có thể có hƣớng ngang dọc (Orientation) 4/ Menu (thực đơn) Cấu trúc hệ menu: 58 - Label-Chuỗi mô tả - Shortcut key- Phím nóng đƣợc kết hợp - Enable/ Disable- Cho user tác động? - Action Command- Chuỗi tên lệnh đƣợc kết hợp - Ủy thác xử lý kiện : ActionListener V/ Xử lý kiện chuột - Java cung cấp hai intefaces lắng nghe (bộ lắng nghe kiện chuột) MouseListener MouseMotionListener để quản lý xử lý kiện liên quan đến thiết bị chuột - Những kiện chuột “bẫy” cho component GUI mà dẫn xuất từ java.awt.component - Các phƣơng thức interface MouseListener: • public void mousePressed(MouseEvent event): đƣợc gọi nút chuột đƣợc nhấnvà trỏ chuột component • public void mouseClicked(MouseEvent event): đƣợc gọi nút chuột đƣợc nhấn nhả component mà khơng di chuyển chuột • public void mouseReleased(MouseEvent event): đƣợc gọi nút chuột nhả sa kéo rê • public void mouseEntered(MouseEvent event): đƣợc gọi trỏ chuột vào đƣờng biên component • public void mouseExited(MouseEvent event): đƣợc gọi trỏ chuột khỏi đƣờng biên component • public void mouseDragged(MouseEvent even ): phƣơng thức đƣợc gọi ngƣời dùng nhấn nút chuột kéo component • public void mouseMoved(MouseEvent event): phƣơng thức đƣợc gọi di chuyển chuột component Mỗi phƣơng thức xử lý kiện chuột có tham số MouseEvent chứa thông tin kiện chuột phát sinh chẳng hạn nhƣ: tọa độ x, y nơi kiện chuột xảy Những phƣơng thức tƣơng ứng interfaces tự động đƣợc gọi chuột tƣơng tác với component VI/ Xử lý kiện bàn phím Để xử lý kiện bàn phím java hỗ trợ lắng nghe kiện interface KeyListener Một kiện bàn phím đƣợc phát sinh ngƣời dùng nhấn nhả phím bàn phím Một lớp thực KeyListener phải cài đặt phƣơng thức keyPressed, keyReleased keyTyped Mỗi phƣơng thức có tham số đối tƣợng kiểu KeyEvent KeyEvent lớp lớp InputEvent - Các phƣơng thức interface KeyListener • Phƣơng thức keyPressed đƣợc gọi phím đƣợc nhấn • Phƣơng thức keyTyped đƣợc gọi thực ngƣời dùng nhấn phím khơng phải “phím hành động” (nhƣ phím mũi tên, phím Home, End, Page Up, Page Down, phím chức nhƣ: Num Lock, Print Screen, Scroll Lock, Caps Lock, Pause) 59 • Phƣơng thức keyReleased đƣợc gọi thực nhả phím nhấn sau kiện keyPressed keyTyped Bài tập: 1/ Xây dựng chƣơng trình nhƣ sau: Nhập vào hai số nhấp button Sum để tính tổng 2/ Xây dựng chƣơng trình tạo menu nhƣ hình 60 BÀI 6: XỬ LÝ NGOẠI LỆ Mục tiêu: - Trình bày đƣợc xử lý lỗi Java - Trình bày đƣợc lớp ngoại lệ, cách xây dựng lớp ngoại lệ - Xây dựng đƣợc lớp ngoại lệ Nội dung chính: I/ Xử lý lỗi Java - Trong Java, việc xử lý lỗi đƣợc cài đặt nhánh độc lập với nhánh chƣơng trình - Lỗi đƣợc coi nhƣ trƣờng hợp ngoại lệ (exceptional conditions) Chúng đƣợc bắt/ném (catch and throw) có lỗi xảy => Một trƣờng hợp lỗi đƣợc xử lý nơi cần xử lý => Mã chƣơng trình sáng sủa, với thiết kế thuật toán II Các lớp ngoại lệ (Exceptions) - Lớp Throwable • Có biến String để lƣu thông tin chi tiết ngoại lệ xảy • Một số phƣơng thức Throwable(String s); // Tạo ngoại lệ có tên s String getMessage(); // Lấy thông tin ngoại lệ void printStackTrace(); // In tất thông tin liên quan đến ngoại lệ - Lớp Exception • Có nhiều ngoại lệ thuộc lớp Exception • Ngƣời dùng tạo ngoại lệ kế thừa từ Exception - Lớp Error • Chỉ lỗi nghiêm trọng khơng dự đốn trƣớc đƣợc nhƣ ThreadDead, LinkageError, VirtualMachineError • Các ngoại lệ kiểu Error đƣợc xử lý - RuntimeException: Chỉ ngoại lệ xảy JVM thực thi chƣơng trình • NullPointException: trỏ null • OutOfMemoryException: hết nhớ • ArithmeticException: lỗi tốn học, lỗi chia khơng… • ClassCastException: lỗi ép kiểu • ArrayIndexOutOfBoundsException: vƣợt số mảng • - Hai loại ngoại lệ • Ngoại lệ unchecked Là ngoại lệ không bắt buộc phải đƣợc kiểm tra Gồm RuntimeException, Error lớp chúng • Ngoại lệ checked Là ngoại lệ bắt buộc phải đƣợc kiểm tra Gồm ngoại lệ cịn lại Ví dụ (ngoại lệ ioexception) 61 - Cách 1: try/catch public static void main(String[] args) { try { String s = buff.readLine(); } catch (IOException e) { } } - Cách 2: Khai báo throws public static void main(String[ ] args) throws IOException { String s = buff.readLine(); } III/ Xây dựng lớp ngoại lệ Khi phƣơng thức gặp lỗi đó, ví dụ nhƣ chia khơng, vƣợt kích thƣớc mảng, mở file chƣa tồn tại… ngoại lệ đƣợc ném Chƣơng trình dừng lại lập tức, tồn phần mã phía sau khơng đƣợc thực thi - Java hỗ trợ cách thức để xử lý ngoại lệ (exception handling) tùy theo nhu cầu chƣơng trình - Khối try/catch • Đặt đoạn mã có khả xảy ngoại lệ khối try • Đặt đoạn mã xử lý ngoại lệ khối catch • Khi xảy ngoại lệ khối try, câu lệnh khối catch đƣợc thực tuỳ vào kiểu ngoại lệ • Sau thực xong khối catch, điều khiển đƣợc trả lại cho chƣơng trình • Ví dụ 1: try { A(); } catch (Exception e) { System.out.println(“Co loi A()”); } • Ví dụ 2: try { x = System.in.read(); System.out.println(“x = “ + x); } catch (IOException e) { System.out.println(“Error: “ + e.getMessage()); } • Ví dụ 3: try { String s = buff.readLine(); 62 int a = Integer.parseInt(s); x[i++] = a; } catch (IOException e) { System.out.println(“Error IO: “ + e.getMessage()); } catch (NumberFormatException e) { System.out.println(“Error Format: “ + e.getMessage()); } catch (ArrayIndexOutOfBoundsException e) { System.out.println(“Error Index: “ + e.getMessage()); } - Khối finally • Khi ngoại lệ xảy ra, chƣơng trình dừng lại, số cơng việc “dọn dẹp” khơng đƣợc thực (ví dụ nhƣ đóng file) • Khối finally đảm bảo câu lệnh ln đƣợc thực hiện, kể ngoại lệ xảy try { doSomething(); // phƣơng thức gây ngoại lệ } finally { cleanup(); } Bài tập: Viết chƣơng trình sau có sử dụng ngoại lệ: 1/ Chia a cho b 2/ Kiểm tra số a có chia hết cho b khơng? 63 BÀI 7: KẾT NỐI CƠ SỞ DỮ LIỆU Mục tiêu: - Trình bày đƣợc trình điều khiển JDBC - Trình bày đƣợc bƣớc lập trình truy xuất sở liệu - Trình bày đƣợc đối tƣợng lập trình sở liệu - Thực truy xuất đƣợc sở liệu - Xử lý trình bày đƣợc liệu lên chƣơng trình Nội dung chính: I/ Các trình điều khiển JDBC - Hiện có nhiều Hệ quản trị sở liệu (DBMS) khác nhƣ SQL Sever, MySQL, Oracle, MS Access, FoxPro,… - Để truy cập DBMS khác từ chƣơng trình viết Java ta cần có JDBC driver tƣơng ứng - Hãng Sun đƣa loại JDBC driver - Tƣơng tác JDBC đƣợc liệt kê sau đây: • Mở kết nối đến CƠ SỞ DỮ LIỆU (Open connection) • Thực thi câu lệnh SQL (Execute SQL) • Xử lý liệu (Process result) • Đóng kết nối (Close conection) - Sử dụng JDBC API, chƣơng trình ứng dụng thiết lập kết nối đến hệ quản trị sở liệu, giao tiếp với CƠ SỞ DỮ LIỆU, thực thi câu lệnh thao tác, truy vấn liệu nhận kết trả - Kiến trúc JDBC gồm hai tầng: tầng JDBC API, có nhiệm vụ chuyển câu lệnh SQL cho quản lý trình điều khiển JDBC; tầng thứ hai JDBC Driver API, thực nhiệm vụ liên hệ với trình điều khiển hệ quản trị sở liệu cụ thể nhƣ SQL-Server, MS-Access, MySQL, IBM-DB2, Oracle,… - Các trình điều khiển có nhiệm vụ yêu cầu hệ quản trị sở liệu thực câu lệnh SQL Các trình điều khiển JDBC đoạn chƣơng trình nhà sản xuất hệ quản sở liệu cung cấp nhà cung cấp thứ ba đƣa Các trình điều khiển JDBC đƣợc chia làm bốn loại: • Cầu nối JDBC-ODBC (Bridge) • Trình điều khiển túy Java (Native-API) • Trình điều khiển JDBC-Net, Pure Java • Trình điều khiển Native-Protocol, Pure Java 1/ Cầu nối jdbc - odbc (bridge) Cầu nối JDBC-ODBC (Bridge): Trình điều khiển loại kết nối với hệ quản trị sở liệu thông qua cầu nối ODBC Trình điều khiển loại ln đƣợc cung cấp kèm theo J2SE với tên: sun.jdbc.odbc.JdbcOdbcDriver 2/ Tạo nguồn liệu odbc - Trên Window, vào Start -> Control Panel -> Administrative Tools -> Data Sources (ODBC) - Đặt tên nguồn liệu mục “Data Source Name” (sẽ sử dụng chuỗi kết nối) 64 - Nhấp “Select” để chọn đƣờng dẫn đến file sơ liệu II/ Các bƣớc lập trình truy xuất sở liệu - Nạp trình điều khiển - Thiết lập kết nối - Tạo đối tƣợng Statement - Thực vấn tin - Xử lý kết trả - Đóng kết nối III/ Các đối tƣợng lập trình sở liệu 1/ Nạp trình điều khiển Sử dụng phƣơng thức tĩnh forName() lớp Class với tham số tên trình điều khiển sở liệu - Cách dùng: try{ Class.forName(“Database driver name”); } catch(ClassNotFoundException e){ System.out.println(“Driver not found: ” +e.getMessage()); } catch(SQLException e){ System.out.println(“SQL Exception: ” + e.getMessage()); } - Trình điều khiển MySQL: Class.forName(“org.gjf.mm.mysql.Driver”); - Trình điều khiển Oracle: Class.forName(“oracle.jdbc.driver.OracleDriver”); - Trình điều khiển Sybase: Class.forName("com.sybase.jdbc.SybDriver"); - Trình điều khiển qua cầu nối ODBC: Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”); 2/ Thiết lập kết nối - Để thiết lập kết nối ta gọi phƣơng thức tĩnh getConnection() lớp DriverManager, trả thể lớp Connection, theo dạng nhƣ sau: String user = “sa” String password = “secret” Connection = DriverManager.getConnection(dbUrl, username, password); - Trong đó: dbUrl: chuỗi kết nối đến sở liệu username: tên ngƣời dùng đăng nhập password: mật đăng nhập Định nghĩa chuỗi kết nối: String host = “dbhost.yourcompany.com”; 65 String dbName = “someName”; int port = 1234; String oracleURL = “jdbc:oracle:thin:@” + host + “:” + port + “:” +dbName; String sybaseURL = “jdbc:sybase:Tds:“ + host + “:” + port + “:” + “?SERVICEid=” + dbName; 3/ Tạo đối tƣợng Statement - Sử dụng đối tƣợng Connection để tạo đối tƣợng Statement Statement s = con.createStatement(); - Đối tƣợng có nhiệm vụ gửi câu lệnh sql đến CƠ SỞ DỮ LIỆU - Cùng đối tƣợng Statement sử dụng cho nhiều câu lệnh sql khác - Có phƣơng thức thực thi • executeQuery() • executeUpdate() • execute() IV/ Xử lý trình bày liệu 1/ Tạo bảng qua jdbc public void createTable(){ String sqlQuery = "CREATE TABLE PRICELIST(NAME VARCHAR(20), PRICE NUMBER);"; if (conn != null){ try{ Statement st = conn.createStatement(); st.execute(sqlQuery); st.close(); }catch(SQLException e){ e.printStackTrace(); } } } 2/ Nhập liệu qua jdbc - Sử dụng phƣơng thức executeUpdate() Statement để cập nhật liệu qua JDBC - executeUpdate() trả số dòng bị ảnh hƣỏng sau câu lệnh đƣợc thực thi Ví dụ: public void insertData(String name, double val){ String insertQuery = "INSERT INTO PRICELIST VALUES ('" + name + "'," + val + ");"; if (conn != null){ try{ Statement st = conn.createStatement(); int d = st.executeUpdate(insertQuery); System.out.println("So dong duoc cap nhat: " + d); 66 st.close(); }catch(SQLException e){ e.printStackTrace(); } } } 3/ Đọc liệu từ sở liệu - Sử dụng phƣơng thức executeQuery() Statement để đọc liệu từ sở liệu - Dữ liệu đọc đƣợc đƣợc lƣu ResultSet - Có thể di chuyển tới lui ResultSet để lấy liệu - Các kiểu Resultset • TYPE_FORWARD_ONLY Con trỏ ResultSet kiểu đƣợc di chuyển theo hƣớng từ đầu đến cuối • TYPE_SCROLL_INSENSITIVE Con trỏ di chuyển tới lui tƣơng vị trí nó, di chuyển đến vị trí cụ thể, khơng bị ảnh hƣỏng kết đƣợc thay đổi nơi khác • TYPE_SCROLL_SENSITIVE Con trỏ di chuyển tới lui tƣơng vị trí nó, di chuyển đến vị trí cụ thể, bị ảnh hƣởng kết bị thay đổi nơi khác - Các chế độ hoạt động resultset Các chế độ hoạt động đồng thời Resultset: • CONCUR_READ_ONLY Xác định chế độ hoạt động đồng thời, kết lƣu đối tƣợng ResultSet khơng đƣợc thay đổi • CONCUR_UPDATABLE Xác nhận chế độ hoạt động đồng thời, kết lƣu đối tƣợng ResultSet đƣợc thay đổi - Các phƣơng thức resultset • next(): di chuyển trỏ đến dịng kế, trả true có dịng kế tiếp, false đến cuối ResultSet • previous(): di chuyển trỏ đến dịng trƣớc • first(): di chuyển trỏ đến dịng • last(): di chuyển trỏ đến dịng cuối • beforeFirst(): di chuyển trỏ đến vị trí trƣớc dịng • afterLast(): di chuyển trỏ đến sau dịng cuối • relative(int rows): di chuyển trỏ tƣơng vị trí với số dịng rows • absolute(int row): di chuyển trỏ đến dòng thứ row - Lấy liệu từ resultset • Dùng phƣơng thc getXXX(String colname) XXX kiểu liệu đƣợc trả 67 colname tên cột cần lấy liệu • Ví dụ: String name = rs.getString("NAME"); double val = rs.getDouble("PRICE"); - Chỉnh sửa liệu resultset • Dữ liệu bảng CƠ SỞ DỮ LIỆU đƣợc chỉnh sửa cách sử dụng câu lệnh SQL UPDATE • Ta chỉnh sửa liệu hàng bảng từ ResultSet • Để làm đƣợc điều này, ResultSet phải đƣợc đặt chế độ CONCUR_UPDATABLE • Sử dụng phƣơng thức updateXXX() để chỉnh sửa liệu ResultSet XXX kiểu liệu cột cần đƣợc sửa - Đóng kết nối Để đóng kết nối ta sử dụng phƣơng thức close đối tƣợng connection: connetion.close() Bài tập: 1/ Viết chƣơng trình cho phép quản lý thông tin lớp học Giao diện Viết xử lý Khi ngƣời dùng chọn nút lệnh “Display”, hiển thị thông tin từ bảng ClassTbl vào JTable Nếu ngƣời dùng nhập tên lớp “Class name”, chƣơng trình hiển thị thơng tin lớp đƣợc nhâp Chƣơng trình cho phép cập nhật lại thông tin lớp cách chọn dịng JTable nhập thơng tin thay đổi “Class Name” , sau chọn nút lệnh “Update” để hồn tất 68 Để xóa thơng tin, ngƣời dùng chọn dịng muốn xóa JTable chọn nút lệnh “Delete” Khi ngƣời dùng chọn nút lệnh “Insert”, chƣơng trình hiển thị hình thêm thơng tin lớp học 2/ Tại hình thêm thơng tin lớp hớp học Khi ngƣời dùng chọn nút lệnh “Save”, lƣu thông tin lớp học Lƣu ý kiểm tra thông tin “Class ID” tồn hay chƣa? Khi ngƣời dùng chọn nút lệnh “Close”, quay hình 69 CÁC THUẬT NGỮ CHUYÊN MÔN Assignment Phép gán Class Lớp Classname Tên lớp Data type Kiểu liệu Identifier Định danh Keyword Từ khóa Literal Hằng Operator Tốn tử String Chuỗi ký tự Variable Biến TÀI LIỆU THAM KHẢO 1/ Java tập 1, Phương Lan, NXB Lao động xã hội, 2003 2/ The Complete Reference Java 2, Herbert Schildt, NXB MacGraw-Hill, 2002 3/ Java TM Programming Advanced Topics, Joe Wigglesworth and Paula McMillan, Thomson Course technology, 2004 4/ Core Java - Volume II & II - Advanced Features, Cay S.Horstmann & Gary Cornell, Prentice Hall PTR, 2004 5/ Java Swing, Robert Eckstein - Marc Loy -Dave Wood, O’Reilly & Associates Inc., 1998 70 ... mơi trƣờng lập trình Java - Biên dịch chạy đƣợc chƣơng trình Java Nội dung chính: I/ Cài đặt mơi trƣờng lập trình Java 1/ Các phần mềm cần chuẩn bị: - JDK 1.6 (jdk-6u11-windows-i586-p) - JDK DOC... trƣờng lập trình Java 10 BÀI 2: JAVA CƠ BẢN Mục tiêu: - Trình bày đƣợc cấu trúc chƣơng trình viết Java - Mô tả đƣợc biến dùng chƣơng trình - Sử dụng đƣợc quy tắc cú pháp ngơn ngữ lập trình - Vận... nhóm Mơ đun chun mơn nghề Tính chất: Là Mơ đun chun mơn bắt buộc ngành lập trình máy tính hệ Cao đẳng Ý nghĩa vai trị mô đun: Mô đun cung cấp cho sinh viên kiến thức lập trình Java, bao gồm: kiểu