基于javaweb的SpringBoot汽车租赁管理系统(java+springboot+vue+elementui+mybaits+mysql)

运行环境

Java≥8、MySQL≥5.7、Node.js≥14

开发工具

后端:eclipse/idea/myeclipse/sts等均可配置运行
前端:WebStorm/VSCode/HBuilderX等均可

❗没学过node.js的不要搞前后端分离项目

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

211524082608

231524082608

241524082608

251524082608

261524082608

271524082608

281524082608

291524082608

301524082608

311524082608

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

使用说明

项目运行:

  1. 使用Navicat或者其它工具,在mysql中创建对应sql文件名称的数据库,并导入项目的sql文件;

  2. 使用IDEA/Eclipse/MyEclipse导入项目,导入成功后请执行maven clean;maven install命令;

  3. 将项目中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

系统的文档结构:

个人中心展示: 

汽车信息展示:

公告信息展示: 

系统注册信息展示:

系统登录信息展示:

租车订单展示:

后台个人信息展示:

汽车信息展示:

汽车类别信息:

订单管理控制层:

@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 orders= null;

List myOrders=new ArrayList();

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 orders= null;

List myOrders=new ArrayList();

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 orders= null;

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 users= userService.getUserById(id);

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 users= userService.getUserByName(username);

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;

// }


项目链接:
https://javayms.github.io?id=201524522608201ov
https://javayms.pages.dev?id=201524522608201ov