关于jdbc查询时重复展示同一选项的问题解决

在练习 jsp 项目是突然发现 订单页内容重复展示
在这里插入图片描述
在数据库按照用户名字段查询 是应该有三条不同订单的
在后台查询测试 发现问题同样如此

 public static void main(String[] args) {
        DingDanDao ddd = new DingDanDaoImpl();
        List<DingDan> danList = ddd.selectById("admin");
        for (DingDan dingDan : danList) {
            System.out.println(dingDan.getEp_name()+"\t"+dingDan.getEo_create_time());
        }

依然重复展示
经过不断排查 测试,终于发现问题
在这里插入图片描述
实体类声明放在了循环外面, 将其放在循环内部 问题解决

 public List<DingDan> selectById(String id) {
        List<DingDan> danList = new ArrayList<>();
        String sql = "select * from EASYBUY_ORDER eo,EASYBUY_ORDER_DETAIL eod,EASYBUY_PRODUCT ep where eo.eo_user_id=? and eod.eo_id=eo.eo_id and eod.ep_id= ep.ep_id order by eo.eo_id desc";
        Object[] params = {id};
        ResultSet rs = this.executeQuery(sql, params); 
        
        try {
            while (rs.next()){
             	DingDan d = new DingDan();
                
                d.setEo_id(rs.getInt("Eo_id"));
                d.setEo_user_id(rs.getString("Eo_user_id"));
                d.setEp_name(rs.getString("Ep_name"));
                d.setEp_file_name(rs.getString("Ep_file_name"));
                d.setEp_price(rs.getInt("Ep_price"));
                d.setEod_quantity(rs.getInt("Eod_quantity"));
                d.setEp_stock(rs.getInt("Ep_stock"));
                d.setEo_create_time(rs.getString("eo_create_time"));

                danList.add(d);
            }
        } catch (SQLException throwables) {
            throwables.printStackTrace();
        }finally {
            closeResource();
        }
        return danList;
    }

后端测试
在这里插入图片描述
前端展示
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值