介绍
基于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 mapperPUBLIC "-//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 userwhere username = #{username};</select><!--登录操作--><select id="loginUser" resultType="user">select *from userwhere 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">deletefrom userwhere id = #{id}</delete><!--通过用户名查询余额--><select id="selectBalanceByUsername" resultType="user">select *from userwhere username = #{username}</select><!--更新账户余额--><update id="updateUser">update userset balance = #{balance}where username = #{username}</update>
</mapper>
参考文章
https://blog.csdn.net/qq_67503717/article/details/127828432
gitee地址:
https://gitee.com/jitongxue/ssm-works