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 算力,解读结果公开显示在下面。

还没有人解读过这个文件。