我有一个具有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); }