基于SSM框架实现商城管理系统

介绍

基于ssm做的一个商城管理系统,学习完Spring,SpringMVC,MyBatis之后,想着敲一个小demo来巩固一些学到的知识,于是做一个手机展示作品(不完整),还有一些功能待完善。

用到的技术栈

  • Java
  • JSP
  • Spring
  • SpringMVC
  • MyBatis
  • MySQL
  • JavaScript
  • Maven
  • Tomcat

主要功能实现

  • 用户和管理员的登录
  • 注册、登录、注销的功能
  • 页面数据展示
  • 添加商品、下架商品、修改商品、通过品牌模糊查询商品

目录结构

在这里插入图片描述

展示下大概的页面

登录页面

在这里插入图片描述

注册页面

在这里插入图片描述

管理员登录

在这里插入图片描述

添加商品

在这里插入图片描述

修改商品

在这里插入图片描述

普通用户登录

在这里插入图片描述

部分代码

UserController


package com.jch.controller;

import com.jch.pojo.Goods;
import com.jch.pojo.User;
import com.jch.service.GoodsService;
import com.jch.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;

import javax.servlet.http.HttpSession;
import java.util.List;

@Controller
@RequestMapping("/user")
public class UserController {

    @Autowired
    @Qualifier("UserServiceImpl")
    private UserService userService;

    @Autowired
    @Qualifier("GoodsServiceImpl")
    private GoodsService goodsService;

    // 登录
    @RequestMapping("/login")
    public String login(User user, Model model, HttpSession session) {
        // 管理员登录
        if (user.getUsername().equals("Admin") && user.getPassword().equals("Admin")) {
            user.setImage("xinhai.png");
            // 登录成功
            session.setAttribute("user", user);
            return "redirect:/goods/AllShop";
        }
        User userTemp = userService.loginUser(user.getUsername(), user.getPassword());
        if (userTemp == null) {
            // 登录失败
            model.addAttribute("msg", "用户名或密码错误");
            return "tip";
        }
        // 登录成功
        session.setAttribute("userTemp", userTemp);
        System.out.println(session.getAttribute("userTemp").toString());
        List<Goods> goods = goodsService.queryAllGoods();
        model.addAttribute("goods",goods);
        return "userList";
    }

    // 注册
    @RequestMapping("/register")
    public String addUser(User user, Model model) {
        User user1 = userService.isexist(user);
        System.out.println(user1);
        // user1 == null 表示当前用户不存在,可以注册
        if (user1 == null) {
            int i = userService.addUser(user);
            if (i == 1) {
                // 注册成功
                model.addAttribute("msg", "注册成功");
                System.out.println("注册成功");
                return "tip";
            } else {
                // 注册失败
                model.addAttribute("msg", "注册失败");
                System.out.println("注册失败");
                return "tip";
            }
        } else {
            // 当前用户已经存在,不可以注册
            model.addAttribute("msg", "当前用户已经存在,不可以注册");
            return "tip";
        }
    }

    //退出
    @RequestMapping("/exit")
    public String exitUser(HttpSession session) {
        session.invalidate();
        return "redirect:/index.jsp";
    }
}

UserMapper

package com.jch.dao;

import com.jch.pojo.User;
import org.apache.ibatis.annotations.Param;

public interface UserMapper {

    User isexist(User user);

    User loginUser(@Param("username") String username, @Param("password")String password);

    /**
     * 增加用户
     * @param user
     * @return
     */
    int addUser(User user);
    
    /**
     * 通过id删除用户
     * @param id
     * @return
     */
    int deleteUser(Integer id);

    /**
     * 通过用户名查询用户余额
     * @param username 用户名
     * @return
     */
    User selectBalanceByUsername(String username);

    /**
     * 更新用户
     * @param user 用户
     */
    int updateUser(User user);
}

UserMapper.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.jch.dao.UserMapper">
    <select id="isexist" resultType="user">
        select *
        from user
        where username = #{username};
    </select>
    <!--登录操作-->
    <select id="loginUser" resultType="user">
        select *
        from user
        where username = #{username}
          and password = #{password}
    </select>

    <!--注册用户-->
    <insert id="addUser">
        insert into user (username, password, image)
        values (#{username}, #{password}, "xinhai.png")
    </insert>

    <!--通过id删除用户-->
    <delete id="deleteUser">
        delete
        from user
        where id = #{id}
    </delete>
    <!--通过用户名查询余额-->
    <select id="selectBalanceByUsername" resultType="user">
        select *
        from user
        where username = #{username}
    </select>
    <!--更新账户余额-->
    <update id="updateUser">
        update user
        set balance = #{balance}
        where username = #{username}
    </update>
</mapper>

参考文章

https://blog.csdn.net/qq_67503717/article/details/127828432

gitee地址:

https://gitee.com/jitongxue/ssm-works

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值