首页 运维百科文章正文

javaweb查询数据库的dao包语句

运维百科 2025年11月18日 12:12 249 admin

JavaWeb开发中的DAO模式与数据库交互实践

在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接口,我们需要导入所需的库:

javaweb查询数据库的dao包语句

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 {

标签: DAO Javaweb

丫丫技术百科 备案号:新ICP备2024010732号-62 网站地图