intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Lập trình kết nối CSDL từ Java vào MySQL

Chia sẻ: Thái Duy Ái Ngọc | Ngày: | Loại File: PDF | Số trang:5

272
lượt xem
95
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

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

Chủ đề:
Lưu

Nội dung Text: Lập trình kết nối CSDL từ Java vào MySQL

  1. 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:
  2. 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;"
  3. 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) {
  4. //đị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
  5. 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
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2