将JDBC ResultSet映射到对象

我有一个具有16个属性的用户类,例如名,姓,dob,用户名,密码等。这些都存储在MySQL数据库中,当我要检索用户时,我使用ResultSet。我想将每个列映射回用户属性,但是我的操作方式似乎效率很低。例如我在做:

//ResultSet rs;

while(rs.next()) {

String uid = rs.getString("UserId");

String fname = rs.getString("FirstName");

...

...

...

User u = new User(uid,fname,...);

//ArrayList<User> users

users.add(u);

}

即我检索所有列,然后通过将所有列值插入到User构造函数中来创建用户对象。

有谁知道更快,更整洁的方法吗?

回答:

无需将resultSet值存储到String中,也无需再次设置到POJO类中。而是在检索时设置。

或者最好的方法是切换到诸如hibernate的ORM工具而不是JDBC,后者将您的POJO对象直接映射到数据库。

但截至目前,使用此:

List<User> users=new ArrayList<User>();

while(rs.next()) {

User user = new User();

user.setUserId(rs.getString("UserId"));

user.setFName(rs.getString("FirstName"));

...

...

...

users.add(user);

}

以上是 将JDBC ResultSet映射到对象 的全部内容, 来源链接: utcz.com/qa/405711.html

回到顶部