网上书店例子(JSP和JavaBean)

1.解压后直接配置一下Tomcat虚拟路径
2.在mysql建立一个bookstore数据库
3.用附件中的语句在bookstore数据库建立表
4.注意连接用户名和密码都是root

转载于:https://www.cnblogs.com/lan0725/archive/2008/05/11/1873966.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
servlet+jsp+javaBean开发的网站书店(完整源码) java,jsp,web,servlet,j网上商城源码 package com.lovo.cq.shopping10_1.daoimpl; import com.lovo.cq.shopping10_1.common.DbUtil; import com.lovo.cq.shopping10_1.dao.OrderDao; import com.lovo.cq.shopping10_1.po.Order; import com.lovo.cq.shopping10_1.po.OrderItem; import com.lovo.cq.shopping10_1.po.User; import java.sql.*; import java.util.ArrayList; import java.util.List; public class OrderDaoImpl implements OrderDao { /** * 添加订单,并返回订一个单号 * @param order 一个订单 * @return int 返回一个整型的订单号 */ public int addOrder(Order order) { int orderId = 0; PreparedStatement pstmt_order = null; //用于对订单进行操作的预定义语句 PreparedStatement pstmt_item = null; //用于对订单项进行操作的预定义语句 ResultSet rs = null; DbUtil dbUtil = null; String sql_order = "insert into tb_order values(null,?,?,?,?,?,null,?)"; try { //事物处理 dbUtil = new DbUtil(); dbUtil.getCon().setAutoCommit(false); //将订单中的数据录入数据库 pstmt_order = dbUtil.getCon().prepareStatement(sql_order); pstmt_order.setString(1, order.getUser().getName()); pstmt_order.setString(2, order.getUser().getAddress()); pstmt_order.setString(3, order.getRecvName()); pstmt_order.setString(4, order.getUser().getPostcode()); pstmt_order.setString(5, order.getUser().getEmail()); pstmt_order.setInt(6,order.getFlag() ); pstmt_order.executeUpdate(); rs = pstmt_order.getGeneratedKeys();//取得主键 rs.next(); orderId = rs.getInt(1); //返回一个订单号 //将订单项中的数据录入数据库 String sql_item = "insert into tb_orderItem values(null,?,?,?,?,?)"; pstmt_item = dbUtil.getCon().prepareStatement(sql_item); List orderItem = order.getOrderItem();//得到所有订单项 for(int i=0;i<orderItem.size();i++) { OrderItem orderItems = (OrderItem)orderItem.get(i); pstmt_item.setInt(1, orderId); pstmt_item.setInt(2, orderItems.getBookId()); pstmt_item.setString(3, orderItems.getBookName()); pstmt_item.setFloat(4, orderItems.getPrice()); pstmt_item.setInt(5, orderItems.getBookNum()); pstmt_item.addBatch(); } pstmt_item.executeBatch(); dbUtil.getCon().commit(); } catch (SQLException e) { e.printStackTrace(); try { dbUtil.getCon().rollback(); } catch (SQLException e1) { e1.printStackTrace(); } }finally { try { rs.close(); pstmt_order.close(); pstmt_item.close(); dbUtil.close(); } catch (SQLException e) { e.printStackTrace(); } } return orderId; } //根据当前用户的用户名查订单 public List selectOrder(String name) { List list = new ArrayList(); Order or = null ; DbUtil dao = new DbUtil(); PreparedStatement pre = null; ResultSet re = null; String sql = "select * from tb_order where name=?"; try { pre = dao.getCon().prepareStatement(sql); pre.setString(1, name); re =pre.executeQuery(); while(re.next()){ or = new Order (); User user = new User(); or.setOrderId(re.getInt("orderId")); user.setName(re.getString("name")); or.setRecvName(re.getString("recvName")); user.setAddress(re.getString("address")); user.setPostcode(re.getString("postcode")); user.setEmail(re.getString("email")); or.setUser(user); or.setOrderDate(re.getString("orderDate")); or.setFlag(re.getInt("flag")); list.add(or); } } catch (SQLException e) { e.printStackTrace(); } return list; } // 根据订单号查订单项 public List selectOrderItem(int id ) { List list = new ArrayList(); OrderItem ordetrItem = null ; DbUtil dao = new DbUtil(); PreparedStatement pre = null; ResultSet re = null; String sql = "select * from tb_orderItem where orderId = ? "; try{ pre = dao.getCon().prepareStatement(sql); pre.setInt(1, id); re =pre.executeQuery(); while(re.next()){ ordetrItem = new OrderItem(); ordetrItem.setBookId(re.getInt("bookId")); ordetrItem.setBookName(re.getString("bookName")); ordetrItem.setBookNum(re.getInt("bookNum")); ordetrItem.setOrderId(re.getInt("orderId")); ordetrItem.setOrderItemId(re.getInt("orderItemId")); ordetrItem.setPrice(re.getFloat("price")); list.add(ordetrItem); } }catch (Exception e) { } return list; } }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值