介绍
基于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