Lập trình kết nối CSDL từ Java vào MySQL
lượt xem 95
download
Lập trình kết nối CSDL từ Java vào MySQL Bài viết này hướng dẫn về cách lập trình kết nối từ Java vào Cơ sở dữ liệu MySQL được demo trên môi trường phát triển NetBeans... Giả sử tôi có hai bảng sau: - Bảng "Viec" gồm các trường : MS, Noi dung (Ms là khoá chính). Hiện tại bảng "Viec" có 2 record sau: MS Noi dung 1 ABC 2 DEC - Bảng "Nguoi" gồm các trường
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Lập trình kết nối CSDL từ Java vào MySQL
- Lập trình kết nối CSDL từ Java vào MySQL Bài viết này hướng dẫn về cách lập trình kết nối từ Java vào Cơ sở dữ liệu MySQL được demo trên môi trường phát triển NetBeans... Giả sử tôi có hai bảng sau: - Bảng "Viec" gồm các trường : MS, Noi dung (Ms là khoá chính). Hiện tại bảng "Viec" có 2 record sau: MS Noi dung 1 ABC 2 DEC - Bảng "Nguoi" gồm các trường: MS_nguoi, MS_vuviec, ho, ten, nam sinh (MS_nguoi là khóa chính, MS_vuviec là khóa ngoại). Quan hệ: Main kết nối One-Many với bảng "Nguoi" qua khóa ngoại nguoi.MS_vuviec = Viec.MS (tức là trong 1 việc có thể có nhiều người tham gia, một người chỉ tham gia 1 việc). Hiện tại bảng "Nguoi" có 5 record sau:
- Tôi dùng lệnh SQL SELECT DISTINCT viec.*, Nguoi.* FROM viec INNER JOIN Nguoi ON viec.MS = Nguoi.MS_Viec; thì được kết quả sau: Bây giờ tôi muốn chỉ xuất ra như sau MS Noi dung MS_nguoi MS_Viec Ho Ten Nam sinh 1 ABC 1 1 A B 1925 2 DEC 3 2 E F 1981 Tức là giá trị field MS chỉ xuất ra 1 lần không lặp lại như kết quả trên. Bài viết sẽ trình diễn (demo) chi tiết về lập trình Java giải quyết yêu cầu trên bằng một chương trình java đơn giản dùng môi trường NetBeans (phân phối free bởi hãng SUN). Nếu lập trình truy xuất database bằng ngôn ngữ Java, bạn có thể dùng các đối tượng trong package java.sql như Connection, Statement, ResultSet, ResultSetMetaData,... Ngoài ra, để truy xuất được database do MySQL server quản lý, bạn cần có JDBC driver tương ứng. Có nhiều JDBC driver có thể truy xuất được database của MySQL server, trong đó "MySQL Connector/J" là driver cho chính hãng SUN phân phối dạng "free-ware". Bạn có thể download driver này ở địa chỉ này, bung nó từ dạng nén thành dạng rõ, copy file "mysql-connector-java- 5.1.13-bin.jar" sang thư mục xác định để chuẩn bị dùng nó lâu dài trong các ứng dụng Java mà bạn sắp viết. Lệnh truy vấn SQL có tên là SELECT được dùng chủ yếu mỗi khi ta cần truy vấn và rút trích thông tin trên database theo một yêu cầu nào đó. Mặc dù lệnh SQL khá gần gũi với suy nghĩ bình thường của con người, nhưng vì nó có rất nhiều tham số (hoặc bắt buộc hoặc nhiệm ý) nên để nắm vững đầy đủ mọi khả năng của lệnh này, bạn cần nhiều thời gian thực hành sử dụng nó. Thí dụ câu lệnh mà bạn viết: "SELECT DISTINCT viec.*, Nguoi.* FROM viec INNER JOIN Nguoi ON viec.MS = Nguoi.MS_vuviec;"
- sẽ mở rộng field MS_vuviec (khóa ngoại) của tất cả record trong bảng Nguoi thành các field đầy đủ của record có field MS (khóa chính tương ứng) trong bảng Viec. Kết quả là bạn có 5 record = 5 record trong bảng Nguoi, nhưng thông tin đầy đủ hơn. Lưu ý từ khóa DISTINCT trong lệnh SELECT là giữ lại kết quả các record hoàn toàn khác nhau, nếu có nhiều record giống nhau thì chỉ giữ lại một. Tuy nhiên 2 record được gọi là giống nhau nếu chúng có tất cả các field giống nhau (chứ không phải chỉ có 1 field khóa ngoại giống nhau như bạn nghĩ). Nếu muốn kết quả chứa các record mà field MS không được lặp lại (hay 1 kết quả nào đó đặc thù riêng của bạn), bạn cần viết đoạn code Java thực hiện điều này. Để demo chi tiết về lập trình Java giải quyết yêu cầu của bạn, chúng tôi đã thử viết 1 chương trìn h java đơn giản bằng môi trường NetBeans (phân phối free bởi hãng SUN) theo qui trình điển hình như sau: 1. Download JDK và môi trường NetBeans từ Internet và cài đặt vào máy. 2. Download MySQL server từ Internet và cài đặt vào máy, cấu hình thông số làm v iệc cho nó. Dùng tiện ích "MySQL Query Browser" kèm theo MySQL Server để tạo mới database có tên là test, trong database test tạo mới 2 bảng Viec và Nguoi, thêm các record dữ liệu vào từng bảng theo sự miêu tả của bạn. 3. Chạy NetBeans, nếu thấy NetBeans hiển thị Project nào đó (của lần cuối cùng trước đó), ấn phải chuột trên phần tử gốc của cây Project để hiển thị menu các chức năng rồi chọn option Close để đóng Project tương ứng lại. 4. Tạo Project mới bằng cách vào menu File.New Project. Khi cửa sổ New Project hiển thị, chọn mục Java trong listbox "Categories", chọn mục "Java Application" trong listbox "Projects" rồi ấn button Next để hiển thị cửa sổ Wizard kế tiếp. 5. Dùng button Browse để duyệt và xác định thư mục chứa Project, nhập tên Project vào mục "Project name" (thí dụ tên là NBMySQL), rồi ấn button Finish để hoàn tất qui trình đặc tả các thông số cấu hình Project. Cửa sổ hiển thị mã nguồn class Main miêu tả ứng dụng đã được tạo ra và đang được hiển thị, hãy viết thân của tác vụ main miêu tả ứng dụng như sau: //chương trình Java đơn giản demo việc rút trích dữ liệu trong database public static void main(String[] args) {
- //định nghĩa các biến cần dùng Connection con; Statement stmt = null; ResultSet rs = null; ResultSetMetaData rsmd = null; Object ms; int fi, i; //xây dựng chuỗi ConnectionString truy xuất database String conStr = "jdbc:mysql://hiepcomp/test"; //lệnh truy vấn String newSQL = "SELECT DISTINCT viec.*, Nguoi.* FROM viec INNER JOIN Nguoi ON viec.MS = Nguoi.MS_Vuviec order by viec.MS"; try { //kết nối database Class.forName("com.mysql.jdbc.Driver").newInstance(); con = DriverManager.getConnection(conStr, "root", "luonghoa"); //thực thi lệnh truy vấn, kết quả chứa trong rs stmt = con.createStatement(); rs = stmt.executeQuery(newSQL); rsmd = rs.getMetaData(); //xác định số field dữ liệu int colnum = rsmd.getColumnCount(); //nếu có dữ liệu thì xuất hàng tiêu đề kết quả if (rs != null && rs.next()) { //xuất hàng tiêu đề for (fi = 1; fi
- try { rs.close(); } catch (Exception _ex) {System.out.println("Exception: " + _ex);} } if (stmt != null) { try { stmt.close(); } catch (Exception _ex) {System.out.println("Exception: " + _ex);} } } } 6. Chọn menu Tools.Library để hiển thị cửa sổ Library Manager, FPT APTECH mở ra cho chọn button New Library để tạo mới 1 thư viện cần dùng cho ứng các bạn đam mê học tin dụng, chọn button Add JAR/Folder rồi duyệt tìm và chọn file thư học, học công nghệ thông viện miêu tả driver "MySQL Connector/J" được dùng trong ứng tin chuyên sâu về học lập dụng. trình cơ hội được đào tạo 7. Chọn menu Run.Run MainProject để dịch và chạy ứng dụng, Công Nghệ Thông Tin nếu bạn thực hiện đúng tất cả các bước trên thì chương trình sẽ trong môi trường tiêu chạy và hiển thị 5 record trong bảng Nguoi giống y như bạn miêu chuẩn chất lượng quốc tế tả. ISO9001. 8. Nếu muốn lọc bỏ các record có field MS trùng nhau, chỉ giữ lại Học CNTT - Học Aptech - 1 record, bạn hãy hiệu chỉnh đoạn code chức lệnh while (rs.next()) Học tại FPT in đậm ở trên thành đoạn code sau: ms = rs.getObject("MS"); while (rs.next()) { //nếu tìm thấy record có field MS mới if (rs.getObject("MS") != ms) { ms = rs.getObject("MS"); for (fi = 1; fi
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Lập Trình Web: Lập Trình với CSDL - GV: Trần Đình Nghĩa
34 p | 413 | 189
-
Bài giảng Lập trình web PHP - Chương 04: Kết nối PHP với MySQL - Trường ĐH SP Tp. HCM
40 p | 400 | 185
-
Sử dụng VB.NET để kết nối mySQL
8 p | 615 | 178
-
Bài Giảng Môn Lập Trình Website ASP.Net part 9
9 p | 293 | 163
-
Giáo trình Lập trình viên công nghệ .net (Module 3) - Trung tâm tin học ĐH KHTN
121 p | 228 | 78
-
Bài 7 - KẾT NỐI DATABASE
14 p | 271 | 67
-
CÁCH KẾT NỐI CSDL MYSQL TỪ CHƯƠNG TRÌNH VC# TRONG MÔI TRƯỜNG VISUAL STUDIO 2005
5 p | 217 | 54
-
Bài tập thực hành Lập trình trên môi trường Windows (Lập trình Windows Form với C#): Lab 7 - ĐH Công nghệ Tp.HCM
14 p | 234 | 47
-
Bài giảng thực hành lập trình web 2 - Bài 7
8 p | 154 | 42
-
Lập trình web-Chương 4: Hàm
58 p | 112 | 42
-
GIÁO TRÌNH MICOSOFT VISUAL BASIC - Chương 8 Truy xuất dữ liệu
17 p | 162 | 31
-
PHẦN 5: LẬP TRÌNH ỨNG DỤNG QUẢN LÝ TRÊN WEB: CƠ SỞ DỮ LIỆU MYSQL - TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
261 p | 145 | 29
-
CÁCH KẾT NỐI CSDL MYSQL TỪ CHƯƠNG TRÌNH VC# TRONG MÔI TRƯỜNG VISUAL STUDIO
5 p | 131 | 17
-
PHẦN 5: LẬP TRÌNH ỨNG DỤNG QUẢN LÝ TRÊN WEB: XÂY DỰNG CÁC LỚP XỬ LÝ - TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
24 p | 104 | 14
-
Bài giảng Lập trình ứng dụng Visuabasic: Bài 6 - Phạm Đình Sắc
23 p | 125 | 13
-
PHẦN 5: LẬP TRÌNH ỨNG DỤNG QUẢN LÝ TRÊN WEB: KẾT HỢP PHP và MYSQL - TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
73 p | 121 | 12
-
Bài thực hành Lập trình Java 3 - Bài 5
10 p | 78 | 2
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn