DAO(数据访问对象)是Java中访问数据库的一种重要的设计模式,它抽象了数据的访问和操作。而MySQL是目前使用最广泛的关系型数据库之一。本文将介绍如何使用DAO连接MySQL数据库。
import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;public class MySQLDAOFactory {private static final String DRIVER = "com.mysql.jdbc.Driver";private static final String URL = "jdbc:mysql://localhost:3306/test?useSSL=false&characterEncoding=utf8";private static final String USERNAME = "root";private static final String PASSWORD = "123456";public static Connection getConnection() {Connection conn = null;try {Class.forName(DRIVER);conn = DriverManager.getConnection(URL, USERNAME, PASSWORD);} catch (ClassNotFoundException e) {e.printStackTrace();} catch (SQLException e) {e.printStackTrace();}return conn;}}
上述代码是一个连接MySQL数据库的DAO工厂类,其中DRIVER为MySQL的JDBC驱动,URL为连接MySQL数据库的URL,USERNAME和PASSWORD为MySQL的用户名和密码。getConnection()方法返回一个Connection对象,用于后续的操作。
下面的代码是一个DAO类的示例,用于连接MySQL数据库并查询数据:
import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;public class UserDAO {private Connection conn;public UserDAO(Connection conn) {this.conn = conn;}public User findUserById(int id) throws SQLException {User user = null;PreparedStatement pstmt = null;ResultSet rs = null;try {pstmt = conn.prepareStatement("SELECT * FROM user WHERE id=?");pstmt.setInt(1, id);rs = pstmt.executeQuery();if (rs.next()) {user = new User();user.setId(rs.getInt("id"));user.setName(rs.getString("name"));user.setAge(rs.getInt("age"));}} finally {if (rs != null) rs.close();if (pstmt != null) pstmt.close();}return user;}}
上述代码是一个UserDAO类的示例,其中conn为连接MySQL数据库的Connection对象。findUserById(int id)方法通过传入的id参数从MySQL数据库中查询对应的用户信息,并封装为一个User对象返回。在方法执行完毕后,需要关闭ResultSet和PreparedStatement对象。
以上是使用DAO连接MySQL数据库的基本示例,当然还可以使用其他的DAO框架,例如MyBatis等,实现更加灵活和高效的数据访问操作。