Service層:
//獲取連接
Connection conn = C3p0Utils.getConnection();
//開啟事務
conn.setAutoCommit(false);
//SQL操作
try {
//先存入 orders 對象
od.save(conn,order);
List<OrderItem> ois = order.getOis();
for(OrderItem oi : ois){
oid.save(conn,oi);
}
conn.commit();//提交事物
} catch(Exception e){
conn.rollback();//回滾事物
e.printStackTrace();
}
dao層:
public void save(Connection conn,Orders orders) throws SQLException {
QueryRunner qr = new QueryRunner();
String sql="insert into orders values(?,?,?,?,?,?,?,?)";
Object[] params = {orders.getOid(),orders.getOrdertime(),orders.getTotal(),orders.getState(),
orders.getAddress(),orders.getName(),orders.getTelephone(),orders.getUser().getUid()};
qr.update(conn,sql,params);
}