问答详情
源自:8-5 获取所有商品资料方法的实现

请看本节代码哪里有错?

package dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import entity.Items;
import util.DBHelper;

//商品的业务逻辑类
public class ItemsDAO(){
//创建返回值为ArrayList<Items> 泛型的方法,获得商品的所有的信息
    public  ArrayList<Items>  getAllItems()
    {Connection conn=null;
     PreparedStatement  stmt=null;
     ResultSet  rs=null;
//由于方法返回的是ArrayList类型的,需要一个容器,即商品集合
     ArrayList<Items> list=new ArrayList<Items>();
     try
        {//获得连接对象
            conn=DBHelper.getConnection();
            //写个SQL语句,从表中获得商品的所有的信息
        String  sql="select * from items";
        //然后创建一个连接对象,把传进去,不需要任何参数。
        stmt=conn.prepareStatement(sql);
        //直接执行
        rs=stmt.executeQuery();
        
        while(rs.next())
        {//每一次应该是商品信息
            Items item=new Items();
            //用来封装属性,设置商品编号
            //每次遍历把商品加入到我们的集合
            item.setId(rs.getInt("id"));
            item.setName(rs.getString("name"));
            item.setCity(rs.getString("city"));
            item.setNumber(rs.getInt("number"));
            item.setPrice(rs.getInt("price"));
            item.setPicture(rs.getString("picture"));
            //初始化完成以后,加到集合里
            list.add(item);
        }
        return  list;//返回集合
            
        }catch(Exception ex)
        {ex.printStackTrace();
        return  null;
            
        }finally
        {//释放资源,从小到大释放,
        //首先释放数据集,接着释放预期对象,连接对象不要释放,因为这是一个单例模式
         //关闭我们的数据集对象
             if(rs!=null)
          {
             try{ rs.close();
              rs=null;
             }catch(Exception ex)
             {
            ex.getStackTrace();    
             }
          }
            //关闭我们的预期语句对象
            if(stmt!=null)
           {
                try{ stmt.close();
                 stmt=null;
                }catch(Exception ex)
                {
                ex.getStackTrace();    
                }
           }    
       }
  }
  }

            

提问者:倚框天外 2014-12-18 20:19

个回答

  • noticeyou
    2018-04-09 16:21:51

    https://img.mukewang.com/5acb228f0001ae8910041020.jpg

    给你看看

  • 好帮手慕珊
    2014-12-19 16:42:16

    有没有报错呀,贴个报错的图呗。