基于SSM+JSP的网上购物商城

一、简介

这是一个基于SSM和JSP开发的网上购物商城系统

二、实现技术

  1. 前端:JSP
  2. 后端:spring、springMVC、MyBatis
  3. 组件库:bootstrap
  4. 数据库:MySQL8.0
  5. 运行环境:JDK8、IntelliJ IDEA 、Tomcat 8.5.73

三、系统功能模块

 

四、数据库表设计

该系统数据库有8张表,分别为admins(管理员表)、carts(购物车表)、goods(商品表)、items(订单项表)、orders(订单表)、tops(商品推荐表)、types(商品类型表)、users(用户表)。

 admins表设计

 carts表设计

goods表设计 

items表设计 

orders表设计 

tops表设计 

types表设计 

users表设计 

 五、部分功能实现

1.加入购物车功能

Controller层

/**
	 * 加入购物车
	 * @return
	 */
	@PostMapping("/cartBuy")
	public @ResponseBody boolean cartBuy(int goodId, HttpSession session){
		Users user = (Users) session.getAttribute("user");
		return cartService.save(goodId, user.getId());
	}

Service层

/**
	 * 添加购物车
	 * @return
	 */
	public boolean save(int goodId, int userId) {
		Carts cart = cartDao.selectByUserIdAndGoodId(userId, goodId);
		if(Objects.nonNull(cart)) { // 如果存在记录 数量+1
			return cartDao.updateAmonut(cart.getId(), 1);
		}
		cart = new Carts();
		cart.setGoodId(goodId);
		cart.setUserId(userId);
		cart.setAmount(1); // 默认数量1
		return cartDao.insert(cart);
	}

2.查看订单

Controller层

	/**
	 * 查看订单
	 * @return
	 *
	 */
	@GetMapping("/order")
	public String order(HttpServletRequest request, HttpSession session,
			@RequestParam(required=false, defaultValue="1")int page, 
			@RequestParam(required=false, defaultValue="6")int size) {
		Users user = (Users) session.getAttribute("user");
		request.setAttribute("orderList", orderService.getListByUserid(user.getId(), page, size));
		request.setAttribute("pageTool", PageUtil.getPageTool(request, orderService.getCountByUserid(user.getId()), page, size));
		return "/index/order.jsp";
	}

 Service层

	/**
	 * 获取某用户全部订单
	 * @param userId
	 */
	public List<Orders> getListByUserid(int userId, int page, int size) {
		return pack(orderDao.selectListByUserid(userId, size*(page-1), size));
	}

Dao层

 @Select("select * from orders where user_id=#{userId} order by id desc limit #{begin}, #{size}")
	public List<Orders> selectListByUserid(@Param("userId")int userId, @Param("begin")int begin, @Param("size")int size);

 六、部分功能介绍

 

 

 七、运行界面展示

 

 

 

 

 

 

 

 

 

 

 更多源码请联系作者qq1710270710

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值