|
|
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<Order> findAll() {
|
|
|
String sql = "select orderid,userid,orderdate, from orders";
|
|
|
List<Order>list = new ArrayList<Order>();
|
|
|
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 (?,?,?,?,?)";
|
|
|
List<Product>list = new ArrayList<Product>();
|
|
|
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;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|