基于SSM的二手车管理系统的设计与实现 (含源码+sql+视频导入教程)
👉文末查看项目功能视频演示+获取源码+sql脚本+视频导入教程视频
1 、功能描述
基于SSM的二手车管理系统4拥有三种角色
管理员:订单管理、在售车辆管理、下架车辆管理、品牌管理、分类管理、推荐管理、统计等
商家:登录注册、添加/下架/删除车辆、订单管理、发货等
用户:登录注册、收货、购物车、下单购买、条件搜索等
1.1 背景描述
基于SSM的二手车管理系统是一个基于Spring、SpringMVC和MyBatis框架的Web应用程序,旨在实现二手车交易的信息化管理。该系统包括二手车信息管理、交易流程管理、客户信息管理、支付管理等功能,可提高二手车交易的效率和安全性,降低交易成本。
2、项目技术
后端框架:SSM(Spring、SpringMVC、Mybatis)
前端技术:jsp、css、JavaScript、JQuery
2.1 SSM
SSM(Spring+SpringMVC+MyBatis)是目前比较主流的Java EE企业级框架,适用于搭建各种大型的企业级应用系统。其中,Spring就像是整个项目中的粘合剂,负责装配bean并管理其生命周期,实现控制反转(IoC)的功能。SpringMVC负责拦截用户请求,通过DispatcherServlet将请求匹配到相应的Controller并执行。而MyBatis则是对JDBC的封装,让数据库底层操作变得透明,通过配置文件关联到各实体类的Mapper文件,实现了SQL语句映射。
2.2 mysql
MySQL是一款Relational Database Management System,直译过来的意思就是关系型数据库管理系统,MySQL有着它独特的特点,这些特点使他成为目前最流行的RDBMS之一,MySQL想比与其他数据库如ORACLE、DB2等,它属于一款体积小、速度快的数据库,重点是它符合本次毕业设计的真实租赁环境,拥有成本低,开发源码这些特点,这也是选择它的主要原因。
3、开发环境
- JAVA版本:JDK1.8
- IDE类型:IDEA、Eclipse都可运行
- tomcat版本:Tomcat 7-10版本均可
- 数据库类型:MySql(5.5-5.7、8.x版本都可)
- maven项目:否
- 硬件环境:Windows
4、功能截图+视频演示+文档目录
4.1 登录
4.2 用户模块
4.3 商家模块
4.4 管理员模块
5 、核心代码实现
5.1 配置代码
jdbc_mysql_driver=com.mysql.cj.jdbc.Driver
jdbc_mysql_url=jdbc:mysql://localhost:3306/second_hand_car_system?characterEncoding=utf8&useSSL=false&serverTimezone=UTC&rewriteBatchedStatements=true&allowPublicKeyRetrieval=true
jdbc_mysql_username=root
jdbc_mysql_password=root
5.2 其它核心代码
package com.carSystem.action;import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.Map;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;import com.carSystem.entity.Login;
import com.carSystem.entity.Person;
import com.carSystem.service.LoginService;
import com.carSystem.service.PersonService;
import com.google.gson.Gson;@Controller
public class LoginAction {@Autowiredprivate LoginService loginService;@Autowiredprivate PersonService personService;//登录初始化页面@RequestMapping("/loginInitAction")public String loginInitAction(){return "login";}//注册@RequestMapping("/register")public String register(String passwd, String username, String tel, String login_permession, Map<String, Object> map, HttpSession session){if(personService.textTelExist(tel)){map.put("registerTelError", "对不起,您输入的手机号码已经被注册过了。");return "login";}String newId = loginService.getNewId();loginService.addLogin(passwd, newId, login_permession);personService.addPerson(username, newId, tel);Login loginInfo = loginService.getRegisterLoginEntity();if(loginInfo.getLogin_permission().equals("shop")){session.setAttribute("shoploginSession", loginInfo);session.setAttribute("shoploginSession_name", username);return "/shop/index";}else{session.setAttribute("loginSession", loginInfo);session.setAttribute("loginSession_name", username);}return "redirect:/indexInitAction";}//登录处理@RequestMapping("/loginAction")public String loginAction(Login login, Map<String, Object> map, HttpSession session){Login queryLogin = loginService.queryLoginById(login.getLogin_id());if(queryLogin == null){ //账号不存在map.put("loginError", "账号或密码输入错误");return "login";}else if(! queryLogin.getLogin_password().equals(login.getLogin_password()) ){ //密码错误System.out.println("---------error-------");map.put("permission", queryLogin.getLogin_permission());map.put("loginError1", "账号或密码输入错误");return "login";}else if(queryLogin.getLogin_permission().equals("admin")){ //管理员System.out.println("---------admin-------");session.setAttribute("adminloginSession", queryLogin);return "admin/index";}else if(queryLogin.getLogin_permission().equals("shop")){ //商家System.out.println("---------shop-------");session.setAttribute("shoploginSession", queryLogin);session.setAttribute("shoploginSession_name", personService.queryPersonById(queryLogin.getLogin_id()).getPerson_name());return "shop/index";}else{ //用户System.out.println("---------user--------");session.setAttribute("loginSession", queryLogin);session.setAttribute("loginSession_name", personService.queryPersonById(queryLogin.getLogin_id()).getPerson_name());return "redirect:/indexInitAction";}}//跳转到(用户或商家)主页。@RequestMapping("/indexInitAction")public String indexInit(HttpSession session, Map<String, Object> map){Login login = (Login)session.getAttribute("loginSession");if(login != null && login.getLogin_permission().equals("user") ){Person person = personService.queryPersonById(login.getLogin_id());session.setAttribute("loginSession_name", person.getPerson_name());System.out.println("==========index=========" + login.getLogin_permission() + "===========");}return "/user/index";}//利用ajax确定修改后的电话号码没有被注册@RequestMapping("/ajaxTextIdAndTel")public void ajaxTextIdAndTel(HttpServletRequest request, HttpServletResponse response, String person_tel, String login_id) throws UnsupportedEncodingException{response.setCharacterEncoding("UTF-8");request.setCharacterEncoding("UTF-8");boolean boolReturn = true;Login login = loginService.queryLoginById(login_id);if(login == null){boolReturn = false;}else{Person person = personService.queryPersonById(login_id);if( !person.getPerson_tel().equals(person_tel)){boolReturn = false;}}String json = new Gson().toJson(boolReturn);try {response.getWriter().print(json);} catch (IOException e) {e.printStackTrace();}}//保存用户找回的的密码@RequestMapping("/findSaveNewPwd")public String findSaveNewPwd(Map<String, Object> map,Login login, HttpSession session){loginService.saveLogin(login);Login loginInfo = loginService.queryLoginById(login.getLogin_id());if(loginInfo.getLogin_permission().equals("shop")){session.setAttribute("shoploginSession", loginInfo);}else{session.setAttribute("loginSession", loginInfo);}return "redirect:/indexInitAction";}}
6 、功能视频演示
基于SSM的二手车管理系统