package jpestore.dao.mysql; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.Collection; import java.util.List; import jpestore.dao.OrderDao; import jpestore.domain.Order; import jpestore.domain.Product; public class OrderDaolmp implements OrderDao { @Override public List findAll() { String sql = "select orderid,userid,orderdate, from orders"; Listlist = new ArrayList(); try( Connection conn = null; PreparedStatement pstmt = conn.prepareStatement(sql); ResultSet rs = pstmt.executeQuery()){ { while(rs.next()) { Order order = new Order(); order.setOrderid(rs.getLong("orderid")); order.setOrderdate(rs.getDate("orderdate")); order.setUserid(rs.getString("userid")); list.add(order); } } }catch (SQLException e) { // TODO 自动生成的 catch 块 e.printStackTrace(); } return list ; } @Override public Order findBYID(String id) { // TODO Auto-generated method stub Connection conn = null; PreparedStatement pstmt = null; ResultSet rs = null; try { // 2.创建数据库连接 conn = DBHelper.getConnection(); //1.加载驱动程序 String sql = "select orderid,userid,orderdate,status,amount from account where orderid = ?"; // 3.创建语句对象 pstmt = conn.prepareStatement(sql); // 4.绑定参数 pstmt.setString(1, id); // 5.执行查询 rs = pstmt.executeQuery(); // 6.遍历结果集 if (rs.next()) { Order order = new Order(); order.setOrderid(rs.getLong("orderid")); order.setUserid(rs.getString("userid")); order.setOrderdate(rs.getDate("orderdate")); return order; } } catch (SQLException e) { e.printStackTrace(); } finally { try { DBHelper.close(rs, pstmt, conn); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } return null; } @Override public int create(Order order) { String sql = "insert into orders (orderid,userid,orderdate,status,amount)values (?,?,?,?,?)"; Listlist = new ArrayList(); try( Connection conn = DBHelper.getConnection(); PreparedStatement pstmt = conn.prepareStatement(sql); ){pstmt.setLong(1, order.getOrderid()); pstmt.setString(2, order.getUserid()); java.util.Date now = new java.util.Date(); java.sql.Date date = new java.sql.Date(now.getTime()); java.sql.Timestamp date1 = new java.sql.Timestamp(now.getTime()); pstmt.setTimestamp(3,date1); pstmt.setInt(4, order.getStatus()); pstmt.setDouble(4, order.getStatus()); pstmt.setDouble(5, order.getAmout()); int a = pstmt.executeUpdate(); System.out.printf("成功输入%d数据.\n",a); }catch (SQLException e) { // TODO 自动生成的 catch 块 e.printStackTrace(); } return 0; } @Override public int modify(Order order) { // TODO Auto-generated method stub String sql = "update orders set amount = ? where orderid = ?"; try ( // 2.创建数据库连接 Connection conn = DBHelper.getConnection(); // 3. 创建语句对象 PreparedStatement pstmt= conn.prepareStatement(sql) ) { // 4. 绑定参数 pstmt.setDouble(1, order.getAmout()); pstmt.setLong(2, order.getOrderid()); // 5. 执行修改(C、U、D) int affectedRows = pstmt.executeUpdate(); System.out.printf("成功更新%d条数据。\n", affectedRows); } catch (SQLException e) { e.printStackTrace(); } return 0; } @Override public int remove(Order order) { String sql = "delete from orders where orderid = ?"; try ( // 2.创建数据库连接 Connection conn = DBHelper.getConnection(); // 3. 创建语句对象 PreparedStatement pstmt = conn.prepareStatement(sql)) { // 4. 绑定参 pstmt.setLong(1, order.getOrderid()); // 5. 执行修改(C、U、D) int affectedRows = pstmt.executeUpdate(); System.out.printf("成功删除%d条数据。\n", affectedRows); } catch (SQLException e) { e.printStackTrace(); } return 0; } }