在Java編程中,數據庫的連接是非常重要的一環,MySQL作為一個十分流行且強大的關系型數據庫,在Java中也有各種連接的方式。本篇文章將介紹如何使用DAO實現Java與MySQL的連接。
DAO全稱為Data Access Object,是一種經典的設計模式,主要用于解決數據存儲層與業務邏輯層的分離,可以使得代碼的復用性和可讀性更高。而在Java中,我們通常通過jdbc來實現與MySQL的連接,但是代碼比較笨重繁瑣,而且剛剛接觸jdbc的話不太容易理解和上手。因此我們可以使用DAO模式簡化我們的代碼。
下面是DAO與MySQL連接的代碼:
public class UserDaoImpl implements UserDao{ private Connection conn; public UserDaoImpl(Connection conn){ this.conn = conn; } public User getUserById(int id){ String sql = "select * from user where id=?"; PreparedStatement pstmt; try { pstmt = this.conn.prepareStatement(sql); pstmt.setInt(1, id); ResultSet rs = pstmt.executeQuery(); if(rs.next()){ User user = new User(); user.setId(rs.getInt("id")); user.setName(rs.getString("name")); user.setAge(rs.getInt("age")); return user; } } catch (SQLException e) { e.printStackTrace(); } return null; } }
可以看到,在DAO中,我們主要關注的是與數據庫交互的邏輯,而不是底層的實現細節。我們把數據庫的連接等底層操作放在了外部,方便管理和維護。
當然,上面的代碼還有一些不足之處,比如沒有對連接進行關閉、異常處理不夠嚴謹等等。具體要根據實際情況進行改進。
在使用DAO之前,我們需要先建立與MySQL的連接。下面是一個簡單的例子:
public class MySqlConnection { public static Connection getConn(){ String driver = "com.mysql.jdbc.Driver"; String url = "jdbc:mysql://localhost:3306/test"; String user = "root"; String password = "123456"; Connection conn = null; try { Class.forName(driver); //加載MYSQL驅動 conn = DriverManager.getConnection(url, user, password); //獲取連接 } catch (ClassNotFoundException | SQLException e) { e.printStackTrace(); } return conn; } }
上面的代碼中,我們首先加載了MySQL驅動,然后通過DriverManager獲取了一個連接。實際使用中,我們可以把連接的屬性放在配置文件中,然后通過讀取配置文件來獲取參數。
到此為止,我們已經可以愉快地使用DAO來連接MySQL數據庫啦!