——————————DescriptionStart——————————
运行环境
Java≥8、MySQL≥5.7、Node.js≥14
开发工具
后端:eclipse/idea/myeclipse/sts等均可配置运行
前端:WebStorm/VSCode/HBuilderX等均可
❗没学过node.js的不要搞前后端分离项目
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
基于javaweb的SpringBoot汽车租赁管理系统(java+springboot+vue+elementui+mybaits+mysql)
项目介绍
基于Springboot Vue汽车租赁管理系统
角色:管理员、用户、普通管理员三种角色,分为前后台;
用户:用户通过用户登录页面可以填写用户名和密码等信息进行登录操作,登录成功后,进入首页可以查看首页、汽车信息、汽车资讯、汽车论坛、公告信息、留言板、后台管理、个人中心等功能模块,进行相对应操作
普通管理员:普通管理员登录后,进入后台系统页面可以查看个人中心、汽车信息管理、租车订单管理、取消订单管理、还车信息管理、汽车资讯管理等功能模块,进行相对应操作
管理员:管理员登录成功后进入到系统操作界面,可以对个人中心、用户管理、普通管理员管理、汽车类别管理、汽车信息管理、租车订单管理、取消订单管理、还车信息管理、汽车资讯管理、留言板管理、汽车论坛、系统管理等功能模块进行相对应操作。
环境需要
1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。
2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;
3.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;
4.数据库:MySql 5.7/8.0版本均可;
5.是否Maven项目:是;
技术栈
后端:SpringBoot+Mybaits
前端:Vue
使用说明
项目运行:
使用Navicat或者其它工具,在mysql中创建对应sql文件名称的数据库,并导入项目的sql文件;
使用IDEA/Eclipse/MyEclipse导入项目,导入成功后请执行maven clean;maven install命令;
将项目中application.yml配置文件中的数据库配置改为自己的配置;
4.运行项目,在浏览器中输入地址:
前台地址:http://localhost:8080/springboot1ma2x/front/dist/index.html
用户:账号1/123456
后台地址:http://localhost:8080/springboot1ma2x/admin/dist/index.html#/login
管理员:admin/123456
用户:账号1/123456
普通管理员:管理账号1/123456
系统的文档结构:
个人中心展示:
汽车信息展示:
公告信息展示:
系统注册信息展示:
系统登录信息展示:
租车订单展示:
后台个人信息展示:
汽车信息展示:
汽车类别信息:
——————————CodeStart——————————
订单管理控制层:
@Controller
@RequestMapping(value = “/carin”)
public class CarInController {
CarInService orderService=new CarInService();
//对于用户
/**
*添加订单,必须设置名字和价格
code=200 data=1添加成功
code=200 data=0添加失败
code=202 data=0参数有错误
code=404 data=-1异常
@param sender_id
@param name
@param price
@param pic
@return
*/
@RequestMapping(value = “/orderAdd”, method = RequestMethod.GET)
@ResponseBody
public JsonMsg orderAdd(int sender_id,String name,String price,String pic)
JsonMsg jsonMsg=new JsonMsg();
if(price==null||name==null)
jsonMsg.setCode(“202”);
jsonMsg.setData(0);
try {
int i=orderService.add(sender_id,name,Integer.parseInt(price),pic);
jsonMsg.setCode(“200”);
jsonMsg.setData(i);
} catch (Exception e) {
jsonMsg.setCode(“404”);
jsonMsg.setData(-1);
e.printStackTrace();
return jsonMsg;
/**
删除一个订单
code=200 data=1删除成功
code=200 data=0删除失败
code=404 data=-1删除失败
@param id
@return
*/
@RequestMapping(value = “/orderDelete”, method = RequestMethod.GET)
@ResponseBody
public JsonMsg orderDelete(int id)
JsonMsg jsonMsg=new JsonMsg();
try {
jsonMsg.setData(orderService.deleteOrder(id));
jsonMsg.setCode(“200”);
} catch (SQLException e) {
jsonMsg.setCode(“404”);
jsonMsg.setData(-1);
e.printStackTrace();
return jsonMsg;
/**
修改订单对应的车辆信息
code=200 data=1修改成功
code=200 data=0 修改失败
code=202 data=0 id不存在
code=404 data=-1 异常抛出,比如price不是数字
@param id
@param name
@param price
@param pic
@return
*/
@RequestMapping(value = “/orderModify”, method = RequestMethod.GET)
@ResponseBody
public JsonMsg orderModify(int id,String name,String price,String pic)
JsonMsg jsonMsg=new JsonMsg();
try {
CarBean car=new CarBean();
CarService carService=new CarService();
car.setName(name);
if(price==null)
car.setPrice(Integer.MIN_VALUE);
else
car.setPrice(Integer.parseInt(price));
car.setPic(pic);
if(orderService.getOrderById(id)==null)
jsonMsg.setCode(“202”);
jsonMsg.setData(0);
jsonMsg.setData(carService.updateCar(orderService.getOrderById(id).getCar_id(),car));
jsonMsg.setCode(“200”);
} catch (Exception e) {
jsonMsg.setCode(“404”);
jsonMsg.setData(-1);
e.printStackTrace();
return jsonMsg;
/**
得到和myId相关的所有订单
code=200,data存这些订单
code=404 data=-1异常
@param myId
@return
*/
@RequestMapping(value = “/myOrder”, method = RequestMethod.GET)
@ResponseBody
public JsonMsg getMyOrder(int myId)
JsonMsg jsonMsg=new JsonMsg();
List
List
try {
orders = orderService.getAllOrder();
for(CarInBean car:orders)
if(car.getSender_id()==myId||car.getReceiver_id()==myId)
myOrders.add(car);
jsonMsg.setData(myOrders);
jsonMsg.setCode(“200”);
} catch (SQLException e) {
jsonMsg.setCode(“404”);
jsonMsg.setData(-1);
e.printStackTrace();
return jsonMsg;
/**
得到和passed的所有订单等待被接受的
code=200,data存这些订单
code=404 data=-1异常
@return
*/
@RequestMapping(value = “/passedOrder”, method = RequestMethod.GET)
@ResponseBody
public JsonMsg getpassedOrder()
JsonMsg jsonMsg=new JsonMsg();
List
List
try {
orders = orderService.getAllOrder();
for(CarInBean car:orders)
if(car.getStatus()==1)
myOrders.add(car);
jsonMsg.setData(myOrders);
jsonMsg.setCode(“200”);
} catch (SQLException e) {
jsonMsg.setCode(“404”);
jsonMsg.setData(-1);
e.printStackTrace();
return jsonMsg;
/**
得到所有的order
code=200 data为这些order
code=404 data=-1 异常
@return
*/
@RequestMapping(value = “/orderTraversal”, method = RequestMethod.GET)
@ResponseBody
public JsonMsg orderTraversal()
JsonMsg jsonMsg=new JsonMsg();
List
try {
orders = orderService.getAllOrder();
jsonMsg.setData(orders);
jsonMsg.setCode(“200”);
} catch (SQLException e) {
jsonMsg.setCode(“404”);
jsonMsg.setData(-1);
e.printStackTrace();
return jsonMsg;
/**
接受某个订单
提供订单的id号和接收者的id
code=200,data=1 接受成功
code=200 data=0 接受失败
code=404 data=-1 页面异常
@param id
@param receiver_id
@return
*/
@RequestMapping(value = “/orderAccept”, method = RequestMethod.GET)
@ResponseBody
public JsonMsg orderAccept(int id,int receiver_id)
JsonMsg jsonMsg=new JsonMsg();
try {
int i=orderService.updateUser(id,receiver_id);
jsonMsg.setData(i);
jsonMsg.setCode(“200”);
} catch (SQLException e) {
jsonMsg.setCode(“404”);
jsonMsg.setData(-1);
e.printStackTrace();
return jsonMsg;
/**
管理员通过某个订单
code=200 data=1 通过成功
code=200 data=0 通过失败,id不存在或者状态异常
code=404 data=-1 异常
@param id
@return
*/
@RequestMapping(value = “/orderPass”, method = RequestMethod.GET)
@ResponseBody
public JsonMsg orderPass(int id)
JsonMsg jsonMsg=new JsonMsg();
try {
int i=orderService.pass(id);
jsonMsg.setData(i);
jsonMsg.setCode(“200”);
} catch (SQLException e) {
jsonMsg.setCode(“404”);
jsonMsg.setData(-1);
e.printStackTrace();
return jsonMsg;
/**
* code=200 data=1 不通过成功
code=200 data=0 不通过失败,id不存在或者状态异常
code=404 data=-1 异常
@param id
@return
*/
@RequestMapping(value = “/orderBan”, method = RequestMethod.GET)
@ResponseBody
public JsonMsg orderBan(int id)
JsonMsg jsonMsg=new JsonMsg();
try {
int i=orderService.ban(id);
jsonMsg.setData(i);
jsonMsg.setCode(“200”);
} catch (SQLException e) {
jsonMsg.setCode(“404”);
jsonMsg.setData(-1);
e.printStackTrace();
return jsonMsg;
用户管理控制层:
@Controller
@RequestMapping(value = “/user”)
public class UserManageController {
UserService userService = new UserService();
SendMailService sendMailService = new SendMailService();
/**
Code:200 Data=userBean 用户信息正确
Code:205 Data=0 用户不存在
Code:206 Data=-3 用户密码错误
Code:207 Data=-2 用户账户被重复
Code:404 Data=-1 catch异常
@param username
@param password
@return
*/
@RequestMapping(value = “/userLogin”, method = RequestMethod.GET)
@ResponseBody
public JsonMsg userLogin(String username, String password) {
JsonMsg jsonMsg = new JsonMsg();
try {
if (userService.getUserByName(username).size() == 0) {
jsonMsg.setCode(“205”);
jsonMsg.setData(0);
} else if (userService.getUserByName(username).size() != 1) {
jsonMsg.setCode(“207”);
jsonMsg.setData(-2);
else{
int id;
if(!userService.getUserByName(username).get(0).getPassword().equals(password))
jsonMsg.setCode(“206”);
jsonMsg.setData(-3);
} else {
id = userService.getUserByName(username).get(0).getId();
jsonMsg.setCode(“200”);
jsonMsg.setData(userService.getUserById(id));
} catch (SQLException e) {
jsonMsg.setCode(“404”);
jsonMsg.setData(-1);
e.printStackTrace();
return jsonMsg;
/**
注册用户
Code=”200”,Data=1(int)则注册成功
Code=”202”,Data=0 (int)注册失败,用户已经存在
Code=”404” Data=-1页面丢失
@param username
@param password
@param email
@return
*/
@RequestMapping(value = “/userRegister”, method = RequestMethod.GET)
@ResponseBody
public JsonMsg addUser(String username, String password, String email) {
JsonMsg jsonMsg = new JsonMsg();
try {
int result =
userService.addUser(username, password, email, null, null, 0);
if (result == 0) {
jsonMsg.setData(0);
jsonMsg.setCode(“202”);
} else {
jsonMsg.setData(1);
jsonMsg.setCode(“200”);
} catch (Exception e) {
jsonMsg.setData(-1);
jsonMsg.setCode(“404”);
e.printStackTrace();
return jsonMsg;
/**
删除用户(管理员操作)
Code=200,Data=1,删除成功
Code=202,Data=0,删除失败
Code=404,Data=-1页面丢失
@param id
@return
*/
@RequestMapping(value = “/userDelete”, method = RequestMethod.GET)
@ResponseBody
public JsonMsg removeUserById(int id)
JsonMsg jsonMsg=new JsonMsg();
try {
int i = userService.removeUserById(id);
if (i == 1) {
jsonMsg.setCode(“200”);
jsonMsg.setData(1);
} else {
jsonMsg.setCode(“202”);
jsonMsg.setData(0);
} catch (SQLException e) {
jsonMsg.setCode(“404”);
jsonMsg.setData(-1);
e.printStackTrace();
return jsonMsg;
/**
发送邮件
Code=200 Data=1发送成功
Code=205 Data=0发送失败
Code=404 Data=-1页面失效
@param email
@param username
@return
*/
@RequestMapping(value = “/sendEmail”, method = RequestMethod.GET)
@ResponseBody
public JsonMsg sendEmail(String email, String username) {
JsonMsg jsonMsg = new JsonMsg();
try {
if (sendMailService.sendmail(email, username)) {
jsonMsg.setCode(“200”);
jsonMsg.setData(1);
} else {
jsonMsg.setCode(“205”);
jsonMsg.setData(0);
} catch (Exception e) {
jsonMsg.setCode(“404”);
jsonMsg.setData(-1);
e.printStackTrace();
return jsonMsg;
/**
Code=404 Data=-1 抛出异常不做改变
Code=202 Data=0 不变/修改无效
Code=202 Data=-2 id不存在
Code=202 Data=-3 名字修改时产生重复
Code=200 Data>=1 修改成功 Data=修改的信息数量
参数都可以为null,但是id为null无法更新
null的参数不做更新
@param id
@param username
@param password
@param email
@param description
@param pic
@param money
@return
*/
@RequestMapping(value = “/userUpdate”, method = RequestMethod.GET)
@ResponseBody
public JsonMsg updateUser(int id,String username,String password,String email,String description,String pic,String money)
int status=0;
JsonMsg jsonMsg=new JsonMsg();
UserBean ub=new UserBean();
ub.setUserName(username);
ub.setPassword(password);
ub.setEmail(email);
ub.setDescription(description);
ub.setPic(pic);
try {
ub.setMoney(Integer.parseInt(money));
} catch (Exception e) {
ub.setMoney(Integer.MIN_VALUE);
try {
status = userService.updateUserById(id, ub);
jsonMsg.setData(status);
if (status >= 1) {
jsonMsg.setCode(“200”);
} else {
jsonMsg.setCode(“202”);
} catch (SQLException e) {
jsonMsg.setCode(“404”);
jsonMsg.setData(-1);
e.printStackTrace();
return jsonMsg;
/**
JsonMsg ID具体查找用户
Code:404,Data=-1查找失败
Code:200,Data=UserBean 查找成功
Code:202,Data=0,没有查到
@param id
@return
*/
@RequestMapping(value = “/userLocate”, method = RequestMethod.GET)
@ResponseBody
public JsonMsg getUserByID(int id)
JsonMsg jsonMsg=new JsonMsg();
try {
//admin–>曹威杰:我觉得这里的代码写的有点奇怪。我改了一下
/* List
if(users.size()==0)
jsonMsg.setData(0);
jsonMsg.setCode(“202”);
else if(users.size()==1){
jsonMsg.setData(users.get(0));
jsonMsg.setCode(“200”);
else{
throw new SQLException(“用户名被重复,sql出现问题”);
}*/
UserBean user = userService.getUserById(id);
if(user!=null){
jsonMsg.setCode(“200”);
jsonMsg.setData(user);
} else {
jsonMsg.setCode(“202”);
jsonMsg.setData(0);
//曹威杰:以上就是我的修改
} catch (SQLException e) {
jsonMsg.setCode(“404”);
jsonMsg.setData(-1);
e.printStackTrace();
return jsonMsg;
/**
Code200,Data List
Code404.Data -1 取出失败
@return
*/
@RequestMapping(value = “/userTraversal”, method = RequestMethod.GET)
@ResponseBody
public JsonMsg getUsers() {
JsonMsg jsonMsg = new JsonMsg();
try {
jsonMsg.setData(userService.getAllUserBean());
jsonMsg.setCode(“200”);
} catch (SQLException e) {
jsonMsg.setCode(“404”);
jsonMsg.setData(-1);
e.printStackTrace();
return jsonMsg;
/**
Code200,UserBean
Code202,用户不存在
Code404 用户被重复/
Code404.Data -1 取出失败
@return
*/
@RequestMapping(value = “/getUserByName”, method = RequestMethod.GET)
@ResponseBody
public JsonMsg getUsersByName(String username)
JsonMsg jsonMsg=new JsonMsg();
try {
List
if(users.size()==0)
jsonMsg.setData(0);
jsonMsg.setCode(“202”);
else if(users.size()==1){
jsonMsg.setData(users.get(0));
jsonMsg.setCode(“200”);
else{
throw new SQLException(“用户名被重复,sql出现问题”);
} catch (SQLException e) {
jsonMsg.setCode(“404”);
jsonMsg.setData(-1);
e.printStackTrace();
return jsonMsg;
管理员管理控制层:
@Controller
@RequestMapping(value = “/admin”)
public class AdminManageController {
public static void main(String[] args) {
AdminService adminService = new AdminService();
SendMailService sendMailService = new SendMailService();
/**
Code:200 Data=id (id是String类型)管理员信息正确
Code:205 Data=0 管理员不存在
Code:206 Data=-3 管理员密码错误
Code:207 Data=-2 管理员账户被重复
Code:404 Data=-1 catch异常
@param username
@param password
@return
*/
@RequestMapping(value = “/adminLogin”, method = RequestMethod.GET)
@ResponseBody
public JsonMsg adminLogin(String username, String password) {
JsonMsg jsonMsg = new JsonMsg();
try {
if (adminService.getAdminByName(username).size() == 0) {
jsonMsg.setCode(“205”);
jsonMsg.setData(0);
} else if (adminService.getAdminByName(username).size() != 1) {
jsonMsg.setCode(“207”);
jsonMsg.setData(-2);
else{
int id;
if(!adminService.getAdminByName(username).get(0).getPassword().equals(password))
jsonMsg.setCode(“206”);
jsonMsg.setData(-3);
} else {
id = adminService.getAdminByName(username).get(0).getId();
jsonMsg.setCode(“200”);
jsonMsg.setData(adminService.getAdminById(id));
} catch (SQLException e) {
jsonMsg.setCode(“404”);
jsonMsg.setData(-1);
e.printStackTrace();
return jsonMsg;
/**
Code=404 Data=-1 抛出异常不做改变
Code=202 Data=0 不变/修改无效
Code=202 Data=-2 id不存在
Code=202 Data=-3 名字修改时产生重复
Code=200 Data>=1 修改成功 Data=修改的信息数量
参数都可以为null,但是id为null无法更新
null的参数不做更新
@param id
@param username
@param password
@param email
@param description
@param pic
@return
*/
@RequestMapping(value = “/adminUpdate”, method = RequestMethod.GET)
@ResponseBody
public JsonMsg updateAdmin(int id,String username,String password,String email,String description,String pic)
int status=0;
JsonMsg jsonMsg=new JsonMsg();
AdminBean ub=new AdminBean();
ub.setUsername(username);
ub.setPassword(password);
ub.setEmail(email);
ub.setDescription(description);
ub.setPic(pic);
try {
status = adminService.updateUserById(id, ub);
jsonMsg.setData(status);
if (status >= 1) {
jsonMsg.setCode(“200”);
} else {
jsonMsg.setCode(“202”);
} catch (SQLException e) {
jsonMsg.setCode(“404”);
jsonMsg.setData(-1);
e.printStackTrace();
return jsonMsg;
/**
向user的email发邮件
@param email
@param username
@return
*/
@RequestMapping(value = “/sendEmail”, method = RequestMethod.GET)
@ResponseBody
public JsonMsg sendEmail(String email, String username) {
JsonMsg jsonMsg = new JsonMsg();
try {
if (sendMailService.sendmail(email, username)) {
jsonMsg.setCode(“200”);
jsonMsg.setData(“Send Email Success”);
} else {
jsonMsg.setCode(“205”);
jsonMsg.setData(“Send Email Failed”);
} catch (Exception e) {
jsonMsg.setCode(“404”);
e.printStackTrace();
return jsonMsg;
// @RequestMapping(value = “/login”, method = RequestMethod.GET)
// @ResponseBody
// public JsonMsg login(String username, String password) {
// JsonMsg jsonMsg = new JsonMsg();
// try {
// if (adminService.getAdminByNamePassword(username, password).size() == 0) {
// jsonMsg.setCode(“205”);
// } else {
// jsonMsg.setCode(“200”);
// }
// jsonMsg.setData(adminService.getAdminByNamePassword(username, password));
// } catch (Exception e) {
// jsonMsg.setCode(“404”);
// e.printStackTrace();
// }
// return jsonMsg;
// }
//
// @RequestMapping(value = “/getAdminByid”, method = RequestMethod.GET)
// @ResponseBody
// public JsonMsg login(String id) {
// JsonMsg jsonMsg = new JsonMsg();
// try {
// jsonMsg.setCode(“200”);
// jsonMsg.setData(adminService.getAdminById(id));
// } catch (Exception e) {
// jsonMsg.setCode(“404”);
// e.printStackTrace();
// }
// return jsonMsg;
// }
// /**
// * 这个是用来注册管理员
// * 我加了一个Deprecated的annotation
// *
// * @param username
// * @param password
// * @param email
// * @return
// */
// @RequestMapping(value = “/register”, method = RequestMethod.GET)
// @ResponseBody
// @Deprecated
// public JsonMsg addAdmin(String username, String password, String email) {
// JsonMsg jsonMsg = new JsonMsg();
// try {
// jsonMsg.setCode(“200”);
// jsonMsg.setData(adminService.addAdmin(username, password, email));
// } catch (Exception e) {
// jsonMsg.setCode(“404”);
// e.printStackTrace();
// }
// return jsonMsg;
// }
//
// /**
// * 用来注册普通用户
// *
// * @param username
// * @param password
// * @param email
// * @return
// */
// @RequestMapping(value = “/registerUser”, method = RequestMethod.GET)
// @ResponseBody
// public JsonMsg addUser(String username, String password, String email) {
// JsonMsg jsonMsg = new JsonMsg();
// jsonMsg.setCode(“200”);
// jsonMsg.setData(1);
// return jsonMsg;
// }
//
// @RequestMapping(value=”/userLogin”,method=RequestMethod.GET)
// @ResponseBody
// public JsonMsg userLogin(String username, String password){
// return null;
// }
——————————PayStart——————————
项目链接:
https://javayms.github.io?id=201524522608201ov
https://javayms.pages.dev?id=201524522608201ov