将数据库内容封装成对象,在集合中始终只有数据库最后一条内容的解决办法

遇到这类情况,通常是下面步骤出现了问题:

1. 问题: 实例化用于封装数据的类对象 和 实例化存储对象的集合    放错了位置

2.解决思路一定要将存储对象的集合循环外面创建并实例化  (如果在循环里面创建的话,相当于每循环读取数据一次就创建                          了一个新的集合,这时在往集合里面add()对象时,就是在这个新创建的集合里面添加对象,最终导致了新创建的集                          合覆盖了上 一 个创建的集合,所以最后得到的结果就是这个集合里面只有数据库中的最后一条数据)。

                         对于创建封装数据的对象,建议在循环外面创建,在循环里面实例化,这样每从数据库读取一条数据,数据就有了                          一个新的对象引用,节约资源。

code:

  list=new ArrayList<Stuscore>();//                  实例化用于存储对象的集合 循环外面实例化
            while (resultSet.next()){
                Stuscore stuscore = new Stuscore();//实例化用于封装数据的对象 循环里面实例化
//将数据封装到对象之中
                stuscore.setId(resultSet.getInt("id"));
                stuscore.setName(resultSet.getString("named"));
                stuscore.setAge( resultSet.getInt("age"));
                stuscore.setChinese(resultSet.getDouble("chinese"));
                stuscore.setMath( resultSet.getDouble("math"));
                stuscore.setEnglish(resultSet.getDouble("english"));
                stuscore.setSex(resultSet.getString("sex"));
//将对象装载到集合之中
                list.add(stuscore);
            }

                             这样就解决了集合之中只有最后一条数据的情况

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值