概述
1.从mysql表中第一行开始,每次获取mysql的一行,即获取一行的所有列。
2.每次循环都实例化一个user 用来储存属性,将获取的列的值用user的set方法为user设置属性,这样就获得了一个user。
3.将user不断添加到list中。
try {
//拿到resultSet
resultSet = BaseDao.execute(connection, preparedStatement, resultSet, sql, params);
//实例化一个list作为容器
List<User> list = new ArrayList();
//循环赋值 添加user到list
while (resultSet.next()){
//每次循环都实例化一个user 用来储存属性
//不能在循环外面只实例化一个user 否则list每次add的只是同一个user对象而已
// 一个user只在内存中占有那一小段内存 即使list.add(user)多次也只是增加多个相同的对象(内存) 扩大的只是list的内存
User user = new User();
user.setId(resultSet.getInt("id"));
user.setUserCode(resultSet.getString("userCode"));
user.setUserName(resultSet.getString("userName"));
user.setUserPassword(resultSet.getString("userPassword"));
user.setGender(resultSet.getInt("gender"));
user.setBirthday(resultSet.getDate("birthday"));
user.setPhone(resultSet.getString("phone"));
user.setAddress(resultSet.getString("address"));
user.setUserRole(resultSet.getInt("userRole"));
user.setCreatedBy(resultSet.getInt("createdBy"));
user.setCreationDate(resultSet.getDate("creationDate"));
user.setModifyBy(resultSet.getInt("modifyBy"));
user.setModifyDate(resultSet.getDate("modifyDate"));
list.add(user);
}
//输出list
for (User user : list) {
System.out.println(user);
}
} catch (SQLException throwables) {
throwables.printStackTrace();
} finally {
//关闭资源
BaseDao.closeResource(connection, resultSet, preparedStatement);
}
最后
以上就是大意太阳为你收集整理的resultSet转化为List<User>输出的全部内容,希望文章能够帮你解决resultSet转化为List<User>输出所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复