📄 orderserviceimpl.java
字号:
package com.tarena.develop.service.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 com.tarena.develop.common.JDBCUtil;
import com.tarena.develop.entity.Order;
import com.tarena.develop.entity.OrderLine;
import com.tarena.develop.entity.Product;
import com.tarena.develop.entity.User;
public class OrderServiceImpl implements OrderService {
public List<Order> getOrders(User user) {
PreparedStatement ps = null;
ResultSet rs = null;
Order o = null;
List<Order> orders= new ArrayList<Order>();
String sql = "select orderId,ordername,payway,createdate,stateid,cost from t_order,t_user "+
"where t_order.userid=t_user.id and t_user.id=? ";
Connection con=JDBCUtil.getConnection();
try {
ps = con.prepareStatement(sql);
ps.setInt(1, user.getId());
rs = ps.executeQuery();
while(rs.next()){
o = new Order();
o.setOrderid(rs.getInt(1));
o.setOrdername(rs.getString(2));
o.setPayway(rs.getString(3));
o.setCreatedate(rs.getDate(4));
o.setCost(rs.getDouble(6));
o.setStateid(rs.getString(5));
orders.add(o);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
JDBCUtil.relese(rs, ps, con);
}
return orders;
}
public List<OrderLine> getOrderLine(Order order) {
Connection con=null;
PreparedStatement ps=null;
ResultSet rs=null;
List<OrderLine> list= new ArrayList<OrderLine>();
OrderLine orderline=null;
Product pro = null;
try{
con=JDBCUtil.getConnection();
// con.setAutoCommit(false);
String sql="select tol.orderlineid,tol.orderid,tol.pid,tol.amount,tp.pid,tp.name,tp.discription,tp.price,tp.author,tp.images from t_orderline tol inner join t_order tor on tol.orderid = tor.orderid inner join t_product tp on tol.pid = tp.pid where tol.orderid=?";
ps=con.prepareStatement(sql);
ps.setInt(1,order.getOrderid());
rs=ps.executeQuery();
while(rs.next()){
orderline=new OrderLine();
pro = new Product();
pro.setPid(rs.getInt(5));
pro.setName(rs.getString(6));
pro.setDiscription(rs.getString(7));
pro.setPrice(rs.getDouble(8));
pro.setAuthor(rs.getString(9));
pro.setImage(rs.getString(10));
orderline.setOrderlineid(rs.getInt(1));
//以下得不到得对象如何得到
orderline.setOrder(order);
orderline.setProduct(pro);
orderline.setAmount(rs.getInt(4));
list.add(orderline);
}
// con.commit();
}catch(Exception e){
e.printStackTrace();
// try {
// con.rollback();
// } catch (SQLException e1) {
// // TODO Auto-generated catch block
// e1.printStackTrace();
// }
}finally{
JDBCUtil.relese(rs, ps, con);
}
return list;
}
public Order find(int orderid){
Connection con=null;
PreparedStatement ps=null;
ResultSet rs=null;
Order order=null;
String sql="select orderid,ordername,payway,createdate,stateid,cost,userid from t_order where orderid=? ";
try{
con=JDBCUtil.getConnection();
// con.setAutoCommit(false);
ps=con.prepareStatement(sql);
ps.setInt(1,orderid);
rs=ps.executeQuery();
order.setOrderid(rs.getInt(1));
order.setOrdername(rs.getString(2));
order.setPayway(rs.getString(3));
order.setCreatedate(rs.getDate(4));
order.setStateid(rs.getString(5));
order.setCost(rs.getDouble(6));
// con.commit();
}catch(Exception e){
e.printStackTrace();
// try {
// con.rollback();
// } catch (SQLException e1) {
// // TODO Auto-generated catch block
// e1.printStackTrace();
// }
}finally{
JDBCUtil.relese(rs, ps, con);
}
return order;
}
public Order getOrder(Integer orderid,User user) {
Connection conn = null;
PreparedStatement pstm = null;
ResultSet rs = null;
String sql = "select orderid,ordername,payway,createdate,stateid,cost,userid from t_order where orderid = ?";
Order order = null;
conn = JDBCUtil.getConnection();
try {
pstm = conn.prepareStatement(sql);
pstm.setInt(1, orderid);
rs = pstm.executeQuery();
if(rs.next()){
order = new Order();
order.setOrderid(orderid);
order.setOrdername(rs.getString(2));
order.setPayway(rs.getString(3));
order.setCreatedate(rs.getDate(4));
order.setStateid(rs.getString(5));
order.setCost(rs.getDouble(6));
order.setUser(user);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return order;
}
// public void addOrder(Order order,Integer userid) {
// Connection conn = null;
// PreparedStatement pstm = null;
//
// String sql = "insert into t_order values (?,?,?,?,?,?,?)";
// String sql1= "insert into t_orderline values (?,?,?,?)";
// conn = JDBCUtil.getConnection();
// int orderid = JDBCUtil.getPrimaryKey(conn);
// try {
// conn.setAutoCommit(false);
// pstm = conn.prepareStatement(sql);
// pstm.setInt(1, JDBCUtil.getPrimaryKey(conn));
// pstm.setString(2, order.getOrdername());
// pstm.setString(3, order.getPayway());
// pstm.setDate(4, order.getCreatedate());
// pstm.setString(5, order.getStateid());
// pstm.setDouble(6, order.getCost());
// pstm.setInt(7, userid);
// pstm.executeUpdate();
// pstm.close();
// pstm = conn.prepareStatement(sql1);
//
// pstm.setInt(1, JDBCUtil.getPrimaryKey(conn));
// pstm.setInt(2, orderid);
// pstm.setInt(3, pid);
// pstm.setInt(4, amount);
// pstm.executeUpdate();
// conn.commit();
// } catch (SQLException e) {
// try {
// conn.rollback();
// } catch (SQLException e1) {
// // TODO Auto-generated catch block
// e1.printStackTrace();
// }
// e.printStackTrace();
// }finally{
// JDBCUtil.relese(null, pstm, conn);
// }
// }
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -