Hướng dẫn kết nối sql server với java

JDBC là 1 trong API tiêu chuẩn chỉnh được dùng làm kết nối với những các đại lý tài liệu. Bài viết này vẫn lý giải các bạn sẽ học tập lập trình bí quyết áp dụng JDBC sang 1 ví dụ 1-1 giản: sản xuất một ứng dụng quản lý sinc viên áp dụng ngôn ngữ Java, các bạn coi chi tiết sống bên dưới nhé.

Bạn đang xem: Hướng dẫn kết nối sql server với java

JDBC là gì?

Một bí quyết đơn giản và dễ dàng và không nhiều phức tạp nhất, JDBC(Java Database Connectivity)là giải pháp vận động nhỏng một driver góp chúng ta liên kết các đại lý dữ liệu vào áp dụng Java,giúp áp dụng Java tiến hành liên kết cùng thao tác làm việc cùng với cơ sở tài liệu. Nó được cho phép ta triển khai những làm việc truy tìm xuất, update dữ liệu hoặc các sản phẩm công nghệ không giống thông qua việc thực hiện các câu lệnh SQL.

*

Thành phần cơ bạn dạng phải nỗ lực rõ

DriverManager: dùng để làm quản lý danh sách cácDriver(database drivers).Driver: dùng làm links áp dụng java cùng với cửa hàng tài liệu.Connection:tất cả những báo cáo liên hệ cùng với cửa hàng dữ liệu điều trải qua đối tượngConnection.Statement: Thành phần nàygói gọn một câu lệnh Squốc lộ để gửi đến cơ sở tài liệu với thực hiện.ResultSet: Sau lúc triển khai Statement,ResultSetthay mặt đến tập thích hợp những bản ghi lấy vì chưng tiến hành truy tìm vấn.

*

Mô hình trực quan liêu mối quan hệ, công dụng cũng giống như cách thức hoạt động

Sử dụng JDBC như vậy nào

Config mang đến SQL Server

Để phần mềm (Java) của chúng ta cũng có thể kết nối được cùng với cửa hàng dữ liệu, việc đầu tiên những bạn phải xác định bề ngoài liên kết với cổng liên kết cho database, ở chỗ này mình sử dụngDatabase Squốc lộ Server (SQLJDBC) của Microsoft, giải pháp chúng ta có thể download về tại link dưới bài viết này. Ở ví dụ này, các bạn chỉ việc tạo nên database, những thông số kỹ thuật nhỏng port những bạn có thể để khoác định (Port:1443) và bỏ qua đoạn này,hoặc các bạn đang tiếp liền sâu về Squốc lộ Server hoàn toàn có thể tùy chỉnh thiết lập lại config cho những instance của Server như hình dưới

*

Cài đặt cổng liên kết nlỗi vào hình vẽ, hãy ghi nhớ số TCPhường Dynamic Ports, sau này đã cần sử dụng nhiều

*

Kích hoạt các Protocol nlỗi trong hình (ví như gặp mặt lỗi)

Tạo database

Tiếp theo, bảo đảm các bạn vẫn tạo một các đại lý tài liệu bên trên Squốc lộ Server, chăm chú Lúc chế tạo ra các bạn hãy ghi nhớ tên của database cũng như tên của những đối tượng bạn tạo ra bên trong database này. Bên dưới là 1 trong những database mẫu mã dễ dàng mình đã tạo nên sẵn bởi SQL, những bạn cũng có thể sở hữu về sinh sống cuối bài viết.

*

Cài đặt driver

Cuối thuộc, hãy chắc chắn rằng rằngtlỗi viện tinh chỉnh Database Squốc lộ Server (SQLJDBC) đã làm được thêm vào Java project của chúng ta, các bạn cài về thỏng viện ngơi nghỉ bên dưới nội dung bài viết cùng có tác dụng như trong hình họa, vào ngôi trường hòa hợp project của những bạn đã sở hữu sẵn thư viện SQLJDBC thì hãy bỏ lỡ công đoạn này.

Xem thêm: Vì Sao Nhà Hồ Sụp Đổ - Thành Nhà Hồ Và Bài Học Lòng Dân

*

Thêm thư viện sqljdbc phiên bạn dạng tiên tiến nhất nhằm hoàn toàn có thể áp dụng các yếu tắc của JDBC (Đã được nêu sinh sống mục giới thiệu)

Lập trình ứng dụng cai quản sinc viên

*

DatabaseInfo: Lưu trữ thông báo cơ bạn dạng của database

StudentManager: Lưu trữ những hàm làm việc cơ bản nhằm quản lí các sinh viên trong cửa hàng dữ liệu

GUI: Giao diện đồ họa của phần mềm

Validation (Chức năng phụ): Kiểm tra tài liệu để rời lỗi xẩy ra trong cửa hàng dữ liệu (trùng khóa bao gồm, out of range, ...)

BƯỚC 1: trước hết bọn họ chế tác những thông báo cơ bản nlỗi sau, các bạn chú ý phần dbURL, tại đây hãy điền đúng port và tên database đã thiết lập tại phần 1 nhằm có thể liên kết. Lưu ý bao gồm nhị nhiều loại đăng nhập vào SQL Server:Squốc lộ authentication Windows authentication, chúng ta xem thêm 1 trong các 2 bí quyết (khuyến khích sử dụng biện pháp 1).

public class DatabaseInfo public static String driverName = "com.microsoft.sqlhệ thống.jdbc.SQLServerDriver";//localhost: databaseName= public static String dbURL = "jdbc:sqlserver://localhost:8888;databaseName=University";//Username với Password chừa trống, trong phần mềm vẫn nhập sau public static String dbUser = ""; public static String dbPass = "";Squốc lộ authentication

public class DatabaseInfo public static String driverName = "com.microsoft.sqlhệ thống.jdbc.SQLServerDriver";//localhost: databaseName= public static String dbURL = "jdbc:sqlserver://localhost:8888;databaseName=University;integratedSecurity=true";// Vẫn chừa trống, tuy vậy ko dùng public static String dbUser = ""; public static String dbPass = "";Windows authentication

Lưu ý:Squốc lộ Server xác thực đăng nhập cùng với 2 cơ chế: Squốc lộ authenticationWindows authentication.

Squốc lộ authentication: bạn cần phải cung cấp thương hiệu đăng nhập với mật khẩu đăng nhập cùng cả hai gần như được lưu giữ trong Squốc lộ Server.Windows authentication:thông tin tài khoản hiện vẫn đang ước ao đăng nhtràn lên Windows sẽ tiến hành dùng

Để tìm hiểu kỹ hơn về các có mang bảo mật vào database, các chúng ta có thể đón xem các blog sau này của chính bản thân mình. Tại ví dụ dưới, ứng dụng quản lý sinc viên sẽ liên kết cùng với hệ các đại lý dữ liệu qua hình thứcSquốc lộ authentication.

BƯỚC 2: Khởi chế tác kết nối, trả về một đối tượng người dùng Connection, hàm này các bạn cũng có thể bỏ ở bất kể nơi nào tiện lợi đến bài toán gọi kết nối sau này

public Connection getConnect() throws ClassNotFoundException, SQLException Class.forName(DatabaseInfo.driverName);connection = DriverManager.getConnection(DatabaseInfo.dbURL, DatabaseInfo.dbUser, DatabaseInfo.dbPass);return connection; BƯỚC 3: Các hàm thao tác làm việc căn uống bạn dạng vào class StudentManagement

Lấy toàn cục sinh viên vào database

public Vector> getAll() throws ClassNotFoundException, SQLException Vector> data = new Vector();// Kết nối databaseconnection = getConnect();// Tạo câu lệnh SQL (Cách 1: cần sử dụng Statement)Statement stmt = connection.createStatement();ResultSet rs = stmt.executeQuery("Select * from Students");while (rs.next()) // Lấy dữ liệu tự ResultSet String Sno = rs.getString(1); String Sname = rs.getString(2); String Sgender = rs.getString(3); String Sclass = rs.getString(4); String Saddress = rs.getString(5); String Stin nhắn = rs.getString(6); // Ghi vào vector Vector temp = new Vector(); temp.add(Sno); temp.add(Sname); temp.add(Sgender); temp.add(Sclass); temp.add(Saddress); temp.add(Semail); // Thêm dữ liệu vào data vector bao gồm data.add(temp);return data; ​Thêm một sinch viên bắt đầu vào databasepublic void addNew(String Sno, String Sname, String Sgender, String Sclass, String Sadress, String Semail) throws ClassNotFoundException, SQLException // Kết nối databaseconnection = getConnect();// Tạo câu lệnh Squốc lộ (Cách 2: thực hiện PreparedStatement)String sql = "INSERT INTO Students(Sno,Sname,Sgender,Sclass,Sadress,Semail) VALUES(?,?,?,?,?,?)";PreparedStatement stmt = connection.prepareStatement(sql);stmt.setString(1, Sno);stmt.setString(2, Sname);stmt.setString(3, Sgender);stmt.setString(4, Sclass);stmt.setString(5, Sadress);stmt.setString(6, Semail);// Thực hiện nay lệnh SQLstmt.executeUpdate();// Đóng kết nốiconnection.close(); ​Xóa một sinch viên ngoài databasepublic int delete(String Sno) throws SQLException, ClassNotFoundException int deleteStatus = 0;// Kết nối databaseconnection = getConnect();// Xóa sinc viênString sql = "DELETE FROM STUDENTS WHERE Sno="" + Sno + """;Statement stm1 = connection.createStatement();deleteStatus = stm1.executeUpdate(sql);// Trả về hiệu quả int (gồm xóa thành công giỏi không)connection.close();return deleteStatus; ​Đây là những công dụng bao gồm bắt buộc phải bao gồm để hoàn toàn có thể cai quản sinch viên, Hơn nữa các bạn có thể trí tuệ sáng tạo thêm những công dụng bắt đầu như: Tính điểm vừa phải, Lấy sinch viên cao điểm duy nhất, mang sinch viên theo ID, theo tên, ... Tại phía trên bản thân sẽ không còn đi vượt sâu vào khuyên bảo, mình đang hầu hết hướng dẫn bí quyết thực hiện JDBC kết quả tuyệt nhất.BƯỚC 4: Tạo giao diện đồ họa bằng JFrame

Nhỏng bài viết trước, ở đây bản thân không giải đáp sâu về phong thái chuyển động cũng như tạ JFrame, đây là các nhân tố cùng chức năng bao gồm vào phần mềm của bản thân mình, những bạn có thể tham khảo cùng tùy phát triển thành theo sngơi nghỉ thích

*

scrollPane: cất table, table này chính là list sinc viên lấy ra tự databaseupdateAndAdd: cung cấp đồ họa nhằm điền thông tinbtnLoad,btnPrint: Các tác dụng cơ phiên bản, cài đặt các đại lý tài liệu với in ra tệp PDF

Cách 5: Tạo đối tượng StudentManager để truy vấn các hàm tại bước 3, LOAD dữ liệu vào phần mềm

StudentManager manager = new StudentManager();Tạo đối tượng manager

public void actionPerformed(ActionEvent arg0) try // Tạo đồ họa cho người sử dụng nhập web6_username cùng password của databaseJPanel inputPane = new JPanel();inputPane.setLayout(new GridLayout(0, 2, 2, 2));JLabel label1 = new JLabel("Type database web6_username: ");label1.setFont(new Font("Tahoma", Font.BOLD, 18));JLabel label2 = new JLabel("Type database password: ");label2.setFont(new Font("Tahoma", Font.BOLD, 18));// Tạo vị trí điền web6_username và passwordJTextField web6_userName = new JTextField();JTextField passWord = new JTextField();inputPane.add(label1);inputPane.add(web6_userName);inputPane.add(label2);inputPane.add(passWord);if (JOptionPane.showConfirmDialog(contentPane, inputPane, "To connect database, please type infomation below !", JOptionPane.YES_NO_OPTION, JOptionPane.WARNING_MESSAGE) == JOptionPane.YES_OPTION) (pass.isEmpty())) throw new Exception("Input was not correct"); DatabaseInfo.dbUser = web6_user; DatabaseInfo.dbPass = pass; else throw new Exception("Canceled by web6_user");// Tải dữ liệu tự database vào phần mềmdata = manager.getAll();// Thiết kế bảng dữ liệu nhằm hiển thịheader = new Vector();header.add("ID");header.add("Name");header.add("Gender");header.add("Class");header.add("Adress");header.add("Email");((DefaultTableModel) (table.getModel())).setDataVector(data, header);// Kích hoạt các chức năng Add, Delete, tắt phần thông báobtnAdd.setEnabled(true);btnDelete.setEnabled(true);infomationPanel.setVisible(false);// Thông báo thành côngJOptionPane.showMessageDialog(contentPane, "Load sucess!"); catch (Exception e) JOptionPane.showMessageDialog(contentPane, "Load failure! Details: " + e); kích hoạt Listener đến nút LOAD

BƯỚC 6: ADD với DELETE bên trên ứng dụng, đồng nghĩa tương quan cùng với tài liệu trên các đại lý tài liệu cũng biến thành biến hóa, bước này rất dễ sinh lỗi ví như các bạn không có một đối tượng người tiêu dùng Validation để bình chọn dữ liệu nhtràn vào, những bạn có thể xem thêm code dưới, mình tất cả crúc dẫn từng loại rất dễ nắm bắt.

protected void btnAddActionPerformed(ActionEvent arg0) try //Lấy tài liệu nhập bên trên phần mềm String Sno = textField.getText(); String Sname = textField_1.getText(); String Sgender = getGender(); String Sclass = textField_2.getText(); String Sadress = textField_3.getText(); String Stin nhắn = textField_4.getText(); // Kiểm tra dữ liệu nhtràn lên, soát sổ trùng khóa bao gồm vào database if (manager.checkStudent(Sno)) throw new Exception("This student ID is already exits in database!"); if (!Validation.checkIdFormat(Sno)) throw new Exception("Id of student can not contain space!"); if (!Validation.checkNameFormat(Sname)) throw new Exception("Name of student can not contain special(s) character!"); if (!Validation.checkIdFormat(Sclass)) throw new Exception("Name of class can not contain special(s) character!"); if (!Validation.checkNameFormat(Sadress)) throw new Exception("Adress can not contain special(s) character!"); // Thêm tài liệu vào database manager.addNew(Sno, Sname, Sgender, Sclass, Sadress, Semail); // Cập nhật hiển thị database cho ứng dụng data = manager.getAll(); ((DefaultTableModel) (table.getModel())).setDataVector(data, header); // Thông báo thành công JOptionPane.showMessageDialog(contentPane, "Add Success!", "Sucess", JOptionPane.INFORMATION_MESSAGE); catch (Exception e1) JOptionPane.showMessageDialog(contentPane, "Add new failure Details: " + e1, "Error", JOptionPane.ERROR_MESSAGE); Action Listener cho nút ADD

protected void btnDeleteActionPerformed(ActionEvent e) try String Sno = textField.getText(); // Kiểm tra sinc viên có trong database hay là không if (!manager.checkStudent(Sno)) throw new Exception("This student ID is not exits in database, So can delete!"); manager.delete(Sno); // Cập nhật lại dữ liệu hiện trên ứng dụng data = manager.getAll(); ((DefaultTableModel) (table.getModel())).setDataVector(data, header); // Thông báo xóa thành công JOptionPane.showMessageDialog(contentPane, "Delete Success!", "Sucess", JOptionPane.INFORMATION_MESSAGE); catch (Exception e1) JOptionPane.showMessageDialog(contentPane, "Delete failure Details:" + e1, "Error", JOptionPane.ERROR_MESSAGE); Action Listener mang lại nút DELETE

(Các chức năng bổ sung cập nhật như tìm kiếm tìm sinc viên, tính điểm vừa phải chúng ta cũng làm cho tương tự)

BƯỚC 7:In dữ liệu ra file PDF

protected void btnPrintActionPerformed(ActionEvent e) try // Kiểm tra database trước khi in if (data.isEmpty()) throw new Exception("Make sure your load the database in order lớn print!"); // In vào file PDF, tiêu đề là University MessageFormat header = new MessageFormat("University"); MessageFormat footer = new MessageFormat(""); table.print(JTable.PrintMode.FIT_WIDTH, header, footer); catch (Exception e1) JOptionPane.showMessageDialog(contentPane, "Print failure Details: " + e1);

Chạy phần mềm

Điền tên đăng nhập với password, trường hợp các bạn dùngWindows authentication, hãy điền ngẫu nhiên cam kết từ nào trên web6_username cùng password.

*
*

Bắt buộc điền thông báo trước lúc kết nối database

*

Kết nối thành công

Thao tác đơn giản

*

Thêm một sinh viên thành công

*

*

Nhờ bao gồm Validation, đều tài liệu nhtràn lên đa số được bảo đảm đúng tiêu chuẩn, tách lỗi database

*

Xóa một đối tượng người dùng ra khỏi các đại lý tài liệu thành công

Lưu trữ các đại lý dữ liệu vào tệp tin PDF luôn thể đến bài toán in ấn và dán sau này

*

Một list sinc viên đã có lưu trữ thành công

Tổng kết

Hiện nay, technology JDBC đã rất rất được yêu thích, nhờ nó nhưng mà những phần mềm Java hoàn toàn có thể liên kết một cách thuận tiện với hệ cơ sở tài liệu. Các ứng dụng game rất có thể lưu lại danh sách bạn nghịch, những ứng dụng quản lý nhân sự rất có thể dễ dãi cai quản những nhân viên cấp dưới của mình bằng vấn đề thực hiện phần mềm thay vị thao tác làm việc trực tiếp trên đại lý dữ liệu sinh sống sever.

Xem thêm: Hướng Dẫn Kết Nối Bluetooth Laptop Với Loa Một Cách Đơn Giản

Qua trên đây chỉ là một ví dụ nhỏ góp các bạn tưởng tượng được phương thức hoạt động của JDBC thông qua ứng dụng dễ dàng và đơn giản này, trên thực tế để thống trị sinch viên thì nên những thiên tài rộng, các bạn thử mức độ mình và sáng tạo thêm nhé. Mong chúng ta luôn luôn cỗ vũ bản thân để bản thân liên tiếp ra thêm các blog unique không giống, giả dụ những bạn thấy hay hoàn toàn có thể share mang đến nhiều người dân thuộc hiểu. Cuối cùng, cảm ơn các bạn sẽ phát âm không còn nội dung bài viết này.


Chuyên mục: Thiết Kế