一、基于Springboot+SpringDataJpa+Mysql智能停车管理系统
1.1 项目概述
开发语言:Java8
数据库:Mysql5
前端技术:echarts图表
渲染数据:thymeleaf模板引擎 ${ }
后端框架:Springboot SpringDataJpa【ORM javabean – 数据库表实体 】
数据库连接池:德鲁伊【JDBC 1 2 3 4 5 】
服务器:Tomcat,SSM SHH【自己部署】
开发工具:Eclipse Navicat Maven
代码设计:MVC HTTP-----> Controlller----->service------>dao【Model】
get post delete put
1.2 项目详解
源码+数据库:https://download.csdn.net/download/wyn_365/85432522
验证码:hutool工具类
1.登录【正则表达式】
用户名:
密码:
验证码:
1.HTTP地址:post[form] ----Controller
2.首先验证码对不对?
3.通过之后查库
4.查询数据库有没有该用户?
2.注册
1.检验数据格式
2.判断两次密码是否一致
3.form 提交到后台Controller
4.插入数据库
3.认证授权:Shiro第三方框架
1.认证 学生,校园-----放你进入
2.授权:男生,男生宿舍 男生厕所
menu 某一项菜单 数据库表【perms : sys:interface:list】
ShiroConfig:
UserReleam: 认证和授权【perms】
// 查询所有的角色权限
String nativeSql = "SELECT r.role_sign FROM sys_user u ";
nativeSql +=" LEFT JOIN sys_user_role ur ON u.user_id = ur.user_id";
nativeSql +=" LEFT JOIN sys_role r ON r.role_id = ur.role_id";
nativeSql +=" WHERE u.user_id = ?";
// 查询所有的菜单权限
String nativeSql = "SELECT DISTINCT m.perms FROM sys_user_role ur";
nativeSql +=" LEFT JOIN sys_role_menu rm ON ur.role_id = rm.role_id";
nativeSql +=" LEFT JOIN sys_menu m ON rm.menu_id = m.menu_id";
nativeSql +=" WHERE ur.user_id = ?";
4.合作单位数量count,停车场数量,车辆数量,收益总额SUM,图表实现
SQL: COUNT(*) 2
//1. 发送请求 总体统计
function statText() {
okUtils.ajaxCloud({
url:"/sys/interface/query",
param:{'type':'indexStatistics'},
async:true,
success : function(result) {
$("#orgNumber").html(result.msg[0].orgNumber);
$("#parkNumber").html(result.msg[0].parkNumber);
$("#carNumber").html(result.msg[0].carNumber);
$("#cost").html(result.msg[0].cost);
}
});
}
2.Controller
5.车辆、车场的增删改查
insert into table xx,xx,xx values(); 【没有ID】
delete from table where id = 1;【必须有ID】
select * from table where id =1;【必须有ID】
update table set xx = “” where id = 1;【必须有ID】
6.查询所有车辆数据,带有查询条件和分页
参数:查询条件、分页数据 当前页,每页大小
url:"/car/manage/list",
param : that.entity,
success : function(result) {
that.tableData = result.msg.pageData;
that.tableSize = result.msg.totalCount;
}
select * from table xx like % % limit 0,10;
7.查询车辆数据
CarManage entity = carManageRepository.findById(id).orElse(new CarManage());
8.修改车辆数据
9.新增、修改车辆数据
vm.okUtils.ajaxCloud({
url:"/car/manage/save",
param : vm.entity,
json:true,
success : function(result) {
vm.okLayer.msg.greenTick(result.msg)
dialog.load();
}
});
if (entity.getId() == null) {
entity.setGmtCreate(DateUtils.getTimestamp());
entity.setGmtModified(entity.getGmtCreate());
} else {
entity.setGmtModified(DateUtils.getTimestamp());
}
carManageRepository.saveAndFlush(entity);
return Result.ok("保存成功");
10.删除车辆
carManageRepository.deleteById(id);
1.3 项目总结
1.先看前台发送请求的地方在哪里 http url:
2.后台:controller映射路径
3.解析程序 service 【封装的参数,返回值】
4.dao 方法
5.SQL:
源码+数据库:https://download.csdn.net/download/wyn_365/85432522