Java 为什么他们使用这个“公共用户getUserById(int userId)”?

Java 为什么他们使用这个“公共用户getUserById(int userId)”?,java,mysql,Java,Mysql,我在此网站上获得此程序:。我的疑问是他们为什么要使用这个公共用户GetUserByidit userId也许我们可以生活在这一部分,输出没有任何变化,那么,他们为什么要使用?有什么大不了的,伙计?任何人都能让我摆脱这个问题 package com.daniel.dao; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLExce

我在此网站上获得此程序:。我的疑问是他们为什么要使用这个公共用户GetUserByidit userId也许我们可以生活在这一部分,输出没有任何变化,那么,他们为什么要使用?有什么大不了的,伙计?任何人都能让我摆脱这个问题

package com.daniel.dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import com.daniel.model.User;
import com.daniel.util.DbUtil;

public class UserDao {

    private Connection connection;

    public UserDao() {
        connection = DbUtil.getConnection();
    }

    public void addUser(User user) {
        try {
            PreparedStatement preparedStatement = connection
                    .prepareStatement("insert into users(firstname,lastname,dob,email) values (?, ?, ?, ? )");
            // Parameters start with 1
            preparedStatement.setString(1, user.getFirstName());
            preparedStatement.setString(2, user.getLastName());
            preparedStatement.setDate(3, new java.sql.Date(user.getDob().getTime()));
            preparedStatement.setString(4, user.getEmail());
            preparedStatement.executeUpdate();

        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

    public void deleteUser(int userId) {
        try {
            PreparedStatement preparedStatement = connection
                    .prepareStatement("delete from users where userid=?");
            // Parameters start with 1
            preparedStatement.setInt(1, userId);
            preparedStatement.executeUpdate();

        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

    public void updateUser(User user) {
        try {
            PreparedStatement preparedStatement = connection
                    .prepareStatement("update users set firstname=?, lastname=?, dob=?, email=?" +
                            "where userid=?");
            // Parameters start with 1
            preparedStatement.setString(1, user.getFirstName());
            preparedStatement.setString(2, user.getLastName());
            preparedStatement.setDate(3, new java.sql.Date(user.getDob().getTime()));
            preparedStatement.setString(4, user.getEmail());
            preparedStatement.setInt(5, user.getUserid());
            preparedStatement.executeUpdate();

        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

    public List<User> getAllUsers() {
        List<User> users = new ArrayList<User>();
        try {
            Statement statement = connection.createStatement();
            ResultSet rs = statement.executeQuery("select * from users");
            while (rs.next()) {
                User user = new User();
                user.setUserid(rs.getInt("userid"));
                user.setFirstName(rs.getString("firstname"));
                user.setLastName(rs.getString("lastname"));
                user.setDob(rs.getDate("dob"));
                user.setEmail(rs.getString("email"));
                users.add(user);
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }

        return users;
    }

    **public User getUserById(int userId) {
        User user = new User();
        try {
            PreparedStatement preparedStatement = connection.
                    prepareStatement("select * from users where userid=?");
            preparedStatement.setInt(1, userId);
            ResultSet rs = preparedStatement.executeQuery();

            if (rs.next()) {
                user.setUserid(rs.getInt("userid"));
                user.setFirstName(rs.getString("firstname"));
                user.setLastName(rs.getString("lastname"));
                user.setDob(rs.getDate("dob"));
                user.setEmail(rs.getString("email"));
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }

        return user;
    }**
}

是的,需要这个功能。因为java有封装机制&对于batterarcitacture,它们使用MVC,其中用户类是这里的模型


在这里,公共用户GetUserByidit userId只需从数据库中收集所有信息,并作为变量用户返回,其行为类似于model now,无需重新连接到数据库以获取更多详细信息。

问题是什么?您可能还希望在将来正确标记您的问题,为什么要给wordpress添加标签来获取通过id的单用户数据,那么您有什么疑问?他们已经在使用update和add了。那么,他们为什么以及在哪里传递详细信息…@gowthami正在使用这个QBUsers.getUsersByIDsusersIDs、requestBuilder、新的qbentycallbackimpl应用程序singletongetapplication.setDialogsUsersusers;但是获得“{current_page:1,per_page:1,total_entries:0,items:[]}”嘿,伙计,你的权利。但是,为了什么目的。。。他们已经在使用更新和添加函数,那么为什么要使用。更新是用于更新数据库添加是用于插入&这是用于选择非常简单。嘿,我知道是的,我没有提到,我告诉更新和添加函数已经在使用,那么为什么要使用“public User getuserbyidit userId”。@jmail从数据库中获取关于特定用户的数据呢?有时,您只是想从数据库中检索一些内容。有时您需要向数据库中添加一些内容。有时,您需要更新数据库中已有的内容。如果你想更新一些东西,你链接到的示例代码首先使用getUserById检索用户,因此你可以更改/编辑现有用户。嗯,好的,伙计,是的,我理解,。。。无论如何,谢谢@nos