gpt4 book ai didi

java - 使用从其他类的方法中检索到的信息

转载 作者:行者123 更新时间:2023-11-29 12:44:32 26 4
gpt4 key购买 nike

我已成功从 PostgreSQL 数据库中检索到以下类中的数据。 PostgreSQL 中的表数据行添加在ArrayList<> userlist中.我分享了更正后的代码。

class UserList extends ArrayList<User> {
// as in comments said it seems really bad idea is to extend ArrayList. So, avoid it!
}

用户类是:

public class User {

private String firstName;
private String lastName;

public User(String firstName, String lastName) {
this.firstName = firstName;
this.lastName = lastName;
}

public void calculateSimilarityUser(User u){
.... //some codes
}

public String getFirstName() {
return firstName;
}

public void setFirstName(String firstName) {
this.firstName = firstName;
}

public String getLastName() {
return lastName;
}

public void setLastName(String lastName) {
this.lastName = lastName;
}
}

UserDAO 类是:

public class UserDAO {

static Connection currentCon = null;
static ResultSet rs = null;

private ArrayList<User> userlist = new ArrayList<>();

public ArrayList<User> LoadFromDatabase(){

PreparedStatement userinfoStmt = null;

String loadUsersInfo = "SELECT * FROM userinfo";

try {
currentCon = ConnectionManager.getConnection();
userinfoStmt = currentCon.prepareStatement(loadUsersInfo);
rs = userinfoStmt.executeQuery();


while (rs.next()) {
User us = new User(rs.getString("firstname"), rs.getString("lastname"), rs.getInt("index"));


userlist.add(us);
}

userinfoStmt.close();
currentCon.close();

} catch (Exception e) {
}

return userlist;
}

index.jsp

<%

UserDAO inf= new UserDAO();
ArrayList<User> userList = inf.LoadFromDatabase();
Recommender rc = new Recommender(userList);
%>

最佳答案

扩展 ArrayList 在您的情况下没有任何意义。基本上您可以将您的类命名为 UserDAO。并且无需创建类级变量,您可以创建局部变量。

public class UserDAO { // no need to extend and changed name to UserDAO

public List<User> retainTopUsersItems(int maxNumOfReturnedResources, List<User> userList) {
List<User> retainList = new ArrayList<User>();
for (int i = 0; i < maxNumOfReturnedResources; i++) {
retainList.add(userList.get(i));
}
return retainList;
}

public List<User> loadFromDatabase() {
Connection userinfoCon = null;
ResultSet userinfoRS = null;
List<User> userlist = new ArrayList<>();

在您的 jsp 中使用从方法中检索的列表。

<%
// UserList users = new UserList();
UserDAO inf= new UserDAO();
List<User> userList = inf.loadFromDatabase(); // See the changes
Recommender rc = new Recommender(userList); // Change constructor definition in your Recommender
%>

注意:不要使用您的异常,抛出它或记录它?

关于java - 使用从其他类的方法中检索到的信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31870583/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com