javaweb查询数据库的dao包语句
运维百科
2025年11月18日 12:12 250
admin
JavaWeb开发中的DAO模式与数据库交互实践
在JavaWeb开发中,数据访问对象(DAO)模式是一种常用的设计模式,用于将业务逻辑和数据访问代码分离,从而提高代码的可维护性和可扩展性,本文将介绍如何在JavaWeb项目中使用DAO模式进行数据库查询操作。

我们需要创建一个DAO接口,该接口定义了对数据库进行增删改查操作的方法,我们可以创建一个名为UserDao的接口,其中包含一个查询用户信息的方法:
package com.example.dao;
import com.example.model.User;
import java.util.List;
public interface UserDao {
List<User> getAllUsers();
User getUserById(int id);
void addUser(User user);
void updateUser(User user);
void deleteUser(int id);
}
我们需要实现这个DAO接口,为了简化示例,我们将使用JDBC来实现UserDao接口,我们需要导入所需的库:

import java.sql.*;
import java.util.ArrayList;
import java.util.List;
我们创建一个名为UserDaoImpl的类来实现UserDao接口:
package com.example.dao;
import com.example.model.User;
import java.sql.*;
import java.util.ArrayList;
import java.util.List;
public class UserDaoImpl implements UserDao {
private String jdbcURL = "jdbc:mysql://localhost:3306/yourdatabase";
private String jdbcUsername = "yourusername";
private String jdbcPassword = "yourpassword";
private Connection jdbcConnection;
public UserDaoImpl() {
try {
Class.forName("com.mysql.cj.jdbc.Driver");
this.jdbcConnection = DriverManager.getConnection(this.jdbcURL, this.jdbcUsername, this.jdbcPassword);
} catch (Exception e) {
e.printStackTrace();
}
}
@Override
public List<User> getAllUsers() {
List<User> users = new ArrayList<>();
String query = "SELECT * FROM users";
try {
Statement statement = this.jdbcConnection.createStatement();
ResultSet resultSet = statement.executeQuery(query);
while (resultSet.next()) {
User user = new User();
user.setId(resultSet.getInt("id"));
user.setName(resultSet.getString("name"));
user.setEmail(resultSet.getString("email"));
users.add(user);
}
resultSet.close();
statement.close();
} catch (SQLException e) {
e.printStackTrace();
}
return users;
}
@Override
public User getUserById(int id) {
User user = null;
String query = "SELECT * FROM users WHERE id = ?";
try {
PreparedStatement preparedStatement = this.jdbcConnection.prepareStatement(query);
preparedStatement.setInt(1, id);
ResultSet resultSet = preparedStatement.executeQuery();
if (resultSet.next()) {
user = new User();
user.setId(resultSet.getInt("id"));
user.setName(resultSet.getString("name"));
user.setEmail(resultSet.getString("email"));
}
resultSet.close();
preparedStatement.close();
} catch (SQLException e) {
e.printStackTrace();
}
return user;
}
@Override
public void addUser(User user) {
String query = "INSERT INTO users (name, email) VALUES (?, ?)";
try {
PreparedStatement preparedStatement = this.jdbcConnection.prepareStatement(query);
preparedStatement.setString(1, user.getName());
preparedStatement.setString(2, user.getEmail());
preparedStatement.executeUpdate();
preparedStatement.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
@Override
public void updateUser(User user) {
String query = "UPDATE users SET name = ?, email = ? WHERE id = ?";
try {
相关文章

最新评论