package cn.client.dao; import java.util.List; import cn.entity.NePlanOrder; /* * 预订单表 DAO 接口 * */ public interface NePlanOrderDao { //预订单的列表,根据名字和状态号来获取列表数据 public List<NePlanOrder> nePlanOrderList(String username, int statusId); //删除预订单,根据商品id和名字和状态号 public int deletePlanOrder(int id, String username, int statusId); //删除预订单,根据用户名字和状态号 public int deletePlanOrder(String username, int statusId); //修改除预订单,根据商品id和名字和状态号和数量 public int updatePlanOrder(int id, String username, int statusId, int number); //插入一条数据,根据商品id和名字和状态号和数量 public int insertPlanOrder(int id, String username, int statusId, int number); //判断是否已经存在相同的产品,根据商品id和名字和状态号 public int selectPlanOrde(int id, String username, int statusId); }
package cn.client.dao.impl; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; import cn.client.dao.BaseDao; import cn.client.dao.NePlanOrderDao; import cn.entity.NePlanOrder; /* * 预订单表 DAO 实现 * */ public class NePlanOrderDaoImpl extends BaseDao implements NePlanOrderDao { Connection conn = null;//数据库连接 PreparedStatement pstmt = null;//数据库操作 ResultSet rs = null;//保存查询结果 //预订单的列表,根据名字和状态号来获取列表数据 public List<NePlanOrder> nePlanOrderList(String username, int statusId) { List<NePlanOrder> list = new ArrayList<NePlanOrder>(); NePlanOrder item = null; String sql = "select ne_products_id, ne_number, ne_user_id, ne_time," + "ne_status_id from ne_plan_order where ne_user_id=? and ne_status_id = ?"; conn = this.getConnection(); try { pstmt = conn.prepareStatement(sql); pstmt.setString(1, username); pstmt.setInt(2, statusId); rs = pstmt.executeQuery(); while(rs.next()){ item = new NePlanOrder( rs.getInt(1), rs.getInt(2), rs.getString(3), rs.getString(4), rs.getInt(5) ); list.add(item); } } catch (SQLException e) { e.printStackTrace(); }finally{ this.closeAll(conn, pstmt, rs); } return list; } //删除预订单,根据商品id和名字和状态号 public int deletePlanOrder (int id, String username, int statusId){ String sql = "delete ne_plan_order" + " where ne_products_id=? and ne_user_id=? and ne_status_id=?"; return this.executeUpdate(sql, new Object[]{ id, username, statusId}); } //删除预订单,根据用户名字和状态号 public int deletePlanOrder(String username, int statusId){ String sql = "delete ne_plan_order" + " where ne_user_id=? and ne_status_id = ?"; return this.executeUpdate(sql, new Object[]{ username, statusId}); } //修改除预订单,根据商品id和名字和状态号和数量 public int updatePlanOrder(int id, String username, int statusId, int number){ String sql = "update ne_plan_order" + " set ne_number = ?" + " where ne_products_id =? and ne_user_id =? and ne_status_id=?"; return this.executeUpdate(sql, new Object[]{number, id, username, statusId}); } //插入一条数据,根据商品id和名字和状态号和数量 public int insertPlanOrder(int id, String username, int statusId, int number){ String sql = "insert into ne_plan_order" + " (ne_products_id, ne_number, ne_user_id, ne_time, ne_status_id)" + " values" + " (?, ?, ?, sysdate, ?)"; return this.executeUpdate(sql, new Object[]{ id,number, username, statusId}); } //判断是否已经存在相同的产品,根据商品id和名字和状态号 public int selectPlanOrde(int id, String username, int statusId){ String sql = "select count(*) from ne_plan_order where " + " ne_products_id=? and ne_user_id=? and ne_status_id=?"; int count =0; conn = this.getConnection(); try { pstmt = conn.prepareStatement(sql); pstmt.setInt(1, id); pstmt.setString(2, username); pstmt.setInt(3, statusId); rs = pstmt.executeQuery(); if(rs.next()){ count = rs.getInt(1); } } catch (SQLException e) { e.printStackTrace(); }finally{ this.closeAll(conn, pstmt, rs); } return count; } }