src/com/demo/dao/impl/OrderDaoImpl.java
(开头部分) 7KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
package com.demo.dao.impl;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanHandler;
import org.apache.commons.dbutils.handlers.BeanListHandler;
import com.demo.utils.JdbcUtils;
import com.demo.dao.OrderDao;
import com.demo.model.Clothes;
import com.demo.model.Order;
import com.demo.model.OrderItem;
import com.demo.model.User;
/**
* dao层实现-对数据库:订单表及订单商品表的操作
* @author shao
*/
public class OrderDaoImpl implements OrderDao {
/** (non-Javadoc)
* @see com.demo.dao.OrderDao#add(com.demo.model.Order)
*/
@Override
public void add(Order order){
try{
QueryRunner runner = new QueryRunner(JdbcUtils.getDataSource());// JDBC的调用者,数据库操作类,DBUtils工具,参数为c3p0连接池
//1. 把order的基本信息保存到order表
String sql = "insert into orders(id,ordertime,price,state,user_id) values(?,?,?,?,?)";// SQL语句
Object params[] = {order.getId(), order.getOrderTime()
, order.getPrice(), order.isState()
, order.getUser().getId()};// 多个参数封装为对象数组
runner.update(sql, params);// 执行SQL语句
//2. 把order中的订单项保存到orderitem表中
Set<OrderItem> set = order.getOrderItems();// 从订单中取出订单单项集
for(OrderItem item : set){// 从订单单项集中取出订单单项
sql = "insert into orderitem(id,quantity,price,order_id,clothes_id) values(?,?,?,?,?)";// SQL语句
params = new Object[]{item.getId(), item.getQuantity()
, item.getPrice(), order.getId()
, item.getClothes().getId()};// 多个参数封装为对象数组
runner.update(sql, params);// 执行SQL语句
}
} catch(Exception e){
e.printStackTrace();
throw new RuntimeException(e);
}
}
/** (non-Javadoc)
* @see com.demo.dao.OrderDao#find(java.lang.String)
*/
@Override
public Order find(String id){
try{
QueryRunner runner = new QueryRunner(JdbcUtils.getDataSource());// JDBC的调用者,数据库操作类,DBUtils工具,参数为c3p0连接池
//1.找出订单的基本信息
后面还有 108 行代码,购买后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。