DAO模式是一種常用的軟件開發模式,特別是在Web應用程序中。它允許開發人員將業務邏輯與與數據管理相關的代碼分離,從而實現更好的代碼可讀性、可維護性和可擴展性。在使用MySQL數據庫時,我們通常使用Java編寫DAO類來管理數據訪問。
下面是一個使用DAO模式連接MySQL數據庫的示例:
public class MySQLDAO { private String url; private String user; private String password; public MySQLDAO(String url, String user, String password) { this.url = url; this.user = user; this.password = password; } public Connection getConnection() { Connection conn = null; try { Class.forName("com.mysql.jdbc.Driver").newInstance(); conn = DriverManager.getConnection(url, user, password); } catch (Exception e) { e.printStackTrace(); } return conn; } public void close(Connection conn) { try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } public void close(Statement stmt) { try { stmt.close(); } catch (SQLException e) { e.printStackTrace(); } } public void close(ResultSet rs) { try { rs.close(); } catch (SQLException e) { e.printStackTrace(); } } }
以上代碼演示了如何通過DAO模式連接到MySQL數據庫,并提供了關閉連接、聲明和結果集的方法。
接下來是一個使用DAO模式查詢MySQL數據庫中員工信息的示例:
public class EmployeeDAO { private MySQLDAO mysql; public EmployeeDAO(MySQLDAO mysql) { this.mysql = mysql; } public ListgetAll() { List employees = new ArrayList (); Connection conn = mysql.getConnection(); Statement stmt = null; ResultSet rs = null; try { stmt = conn.createStatement(); rs = stmt.executeQuery("SELECT * FROM employee"); while (rs.next()) { Employee employee = new Employee(); employee.setId(rs.getInt("id")); employee.setName(rs.getString("name")); employee.setAge(rs.getInt("age")); employee.setDepartment(rs.getString("department")); employees.add(employee); } } catch (SQLException e) { e.printStackTrace(); } finally { mysql.close(rs); mysql.close(stmt); mysql.close(conn); } return employees; } }
以上代碼演示了如何使用DAO模式查詢MySQL數據庫中的員工信息并返回一個包含Employee對象的列表。
在實際開發中,通常需要在DAO類中實現更多的數據管理功能,例如添加、更新和刪除數據等。DAO模式可以使我們更好地組織和管理這些代碼,從而使Web應用程序更加健壯和易于維護。