Java Web 之8月总结

月考总结:增删改查的速度真垃圾,12点半结束的考试15点半终于调错调完了… 啊 贼垃圾。

总结一下问题:

1) 多表联查的 update方法不熟练,浪费时间;

public interface GoodsDAO {
    List<Goods> FindGoodListByStatus(int status);
    List<Goods> FindGoodListByDistrict(int districtnum);
    int update(Goods g);
}
    /**
     * 更新 district 以外的内容
     */
    @Override
    public int update(Goods g) {
        StringBuffer sql = new StringBuffer("update goods set ");
        sql.append("goods_name=?,goods_price=?,goods_count=?,bill_status=? ");
        sql.append("where id=?");
        Object[] param = {g.getName(),g.getPrice(),g.getCount(),g.getStatus().getStatus(),g.getId()};
        int num = executeUpdate(sql.toString(),param);
            if(rs!=null){
            System.out.println("更新成功!");
        }else{
            System.out.println("更新失败!");
        }
        return num;
    }
public class Update {
    public static void main(String[] args) {
        GoodsDAO dao = new GoodsIMP();
        Goods goods1 = dao.FindGoodsById(10);
        // 根据id获取 goods1的 对象
        BillStatus status = new BillStatus(0);
        // 设置 BillStatus 对象(为了添加goods的status参数)
        Goods goods = new Goods(goods1.getId(),"啦啦",status,100,10,goods1.getTime());
        // goods1.getTime()是获取时间,修改方法不需要修改 time,延续本身的 time
        int num = dao.update(goods);
        if(num>0){
            System.out.println("成功!");
        }else{
            System.out.println("失败了!");
        }
    }
}

2) 后台获取了 getParameter(“id”),但是前台没有写 name,于是报null 异常

<td>商品编号</td>
<td><input type="text" value="<%=request.getAttribute("id")%>" name="id"></td>

3)在获取 statusList 时,居然脑抽使用了

List<BillStatus> statusList = new ArrayList<BillStatus>();

这个创建的是空 list 啊!!!
应该调用 FindList 的方法:

List<BillStatus> statusList = bill.SFindStatus();

4) 默认订单状态的显示

<td>订单状态</td>
<td>
    <select name="status">

    <%
        // 获得 statusList
        List<BillStatus> statusList = (List<BillStatus>)request.getAttribute("statusList");
        // 获得 后台中特定对象的BillStatus 对象
        BillStatus mystatus = (BillStatus)request.getAttribute("bill_status");

        for(BillStatus s:statusList){
        // 如果statusList中 s 的状态数字等于mystatus的状态数字,就选定状态,剩余都没有选中
        if(s.getStatus()==mystatus.getStatus()){
    %>
        <option value="<%=s.getStatus()%>" selected><%=s.getStatusName()%></option>

    <%
        }else {
    %>
       <option value="<%=s.getStatus()%>"><%=s.getStatusName()%></option>
    <%
       }
         }
    %>
    </select>
</td>

5)要分清是FindByStatus 还是 FindByDistrict

List<Goods> FindGoodListByStatus(int status);
List<Goods> FindGoodListByDistrict(int districtnum);
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章