我有一个具有 16 个属性的用户类,例如名字、姓氏、出生日期、用户名、密码等……这些都存储在 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);
}
即我检索所有列,然后通过将所有列值插入用户构造函数来创建用户对象。
有谁知道更快、更整洁的方法吗?
原文由 Quanqai 发布,翻译遵循 CC BY-SA 4.0 许可协议
无需将 resultSet 值存储到 String 中并再次设置到 POJO 类中。而是在您检索时设置。
或者最好的方法是切换到 ORM 工具,如 hibernate 而不是 JDBC,它将 POJO 对象直接映射到数据库。
但截至目前使用这个: