基于SpringBoot的租车后台系统设计与实现.doc
摘 要本论文为了解决租车公司操作繁琐及员工管理的问题,以管理系统为研究对象,基于SpringBoot、Mybatis框架,设计与实现一款B/S结构系统,便于租车公司员工对租车收车的操作,以及租车公司高管对下属的管理及下属行为的审计。本系统基于MVC设计模式,选择MySQL这种关系型数据库来存储车辆信息,员工信息,车辆信息,出租单信息,检测单信息,员工登录信息,员工间的聊天信息,工时信息,系统通知信息。开发工具为IDEA2019,使得此系统具有更高的扩展性,易维护性,可跨平台运行。采用SpringBoot内置TOMCAT作为该系统的WEB应用服务器。围绕高级用户如经理与普通用户如店员多种角色对系统的使用,主要用途为店员对汽车出库入库的操作,客户信息的录入与删除,车辆信息的录入与删除,出租单的导出,完成交易操作。高级用户对信息的发布,工时的审核,业务的查询,员工权限的分配。对这些功能进行具体实现。关键词:租车;SpringBoot;Mybatis;MySQL;B/S结构;交易操作。广东东软学院本科毕业设计(论文)AbstractIn order to solve the problem of tedious operation and employee management of the car rental company, this paper takes the management system as the research object and designs and implements a B / S structure system based on the SpringBoot and Mybatis frameworks. Car rental company executives' management of subordinates and audit of their behavior. This system is based on the MVC design pattern. A relational database such as MySQL is selected to store vehicle information, employee information, vehicle information, rental order information, detection order information, employee login information, chat information between employees, working hours information, and system notification information. The development tool is IDEA2019, which makes this system have higher scalability, easy maintenance, and can run across platforms. Use SpringBoot's built-in TOMCAT as the system's WEB application server. Focusing on the use of the system by various roles of advanced users such as managers and ordinary users such as store clerks, the main uses are store clerks' operations for car storage and storage, customer information entry and deletion, vehicle information entry and deletion, and rental order export. Complete the transaction operation. The release of information by advanced users, the review of working hours, the query of business, the assignment of employee rights. Specific implementation of these functions.Key words: Java;Spring Boot;Mybatis;MySQL;B/S structure;transaction operation目 录第一章 绪论11.1 课题背景和意义1第二章 系统有关技术32.1 Java语言32.2 J2EE平台32.3 B/S架构32.4 SpringBoot-Mybatis整合32.5 MySQL数据库42.6 Maven技术42.7 Bootstrap3.042.8 ECharts5第三章 系统分析73.1 系统市场可行性分析73.2 系统可操作性分析73.3 系统 MVC架构模式分析73.4 系统主要功能需求分析83.5 系统流程设计11系统流程图3-6 12第四章 系统设计134.1 系统体系结构设计134.2 系统数据关系设计134.3 系统数据表设计17第五章 系统实现与测试195.1 系统总体实现与各个模块实现195.2 后台管理系统195.3 代码结构215.4 各模块测试效果22第六章 总结与展望326.1 总结326.2 展望32参考文献33致谢34第一章 绪论1.1 课题背景和意义目前大多数年轻人喜欢自驾旅游,但目的地距离出发地太远,不大可能全程自驾过去,所以绝大数年轻人会选择在目的地当地租一辆车,有了这个市场需求,市面上就会涌现出一堆大大小小得租车公司,租车公司需要一个后台系统,帮助他们完成业务的交接。以及老板或高层对员工的管理。在中国共产党的英明领导下,绝大数人已经是小康家庭,人们的生活品质也是越来越高,自然而然,大家就会追着更高的生活品质。当解决了温饱问题,并有些小积蓄,旅游是绝大数人都热爱的。传统的旅游团旅游,在互联网时代下,被曝出了众多丑闻,各种黑心旅游团,宰客,欺骗式消费,引诱式消费,恐吓式消费。随着这些丑闻的逐渐露出,越来越多的人对旅游团已经产生了排斥心理。但旅游仍是人们在忙碌的工作后,小年假小假期所选择的一种娱乐方式。所以人们的目光开始从报团游移到自助游。这时候可能有人会说,现在交通这么发达,高铁速度快还平稳,没理由选择自驾游。但其实飞机、高铁只是人们从一个城市到达另一个城市的选择,所到达的城市还是需要交通工具,可能又有人会说,那地铁、公交、共享单车、的士、滴滴是最佳的选择。没必要选择租车。其实地铁、公交这些,是学生,或者穷游的人会选择。像家庭旅游,带着家里的小朋友去挤地铁和挤公交是很辛苦的。许多人都会有这个观念,出来玩了,就不要计较那点钱,所以租车是大多数在旅游时选择的交通方式。所以租车行业势必会越来越火,加入这个行业的投资人也会越来越多。课题租车后台系统,可以实现业务员与客户的交接,客户租车,业务员可以在后台系统上进行操作,完成客户信息的录入,导出。对车辆进行添加,修改,删除。更加快速的了解哪些车辆是未出租的,哪些是以出租的。以及图片供客户观看,车辆是否符合客户的需求。对于高层,高层可以更加方便快捷地对基层员工进行管理,也可以在后台系统上进行发布公告。供全公司员工进行查看。还可以对下属进行账号权限的管理。在新员工入职的时候,能够更加快捷地对新员工账号权限,任务进行快速分配。当然也可以修改老员工的信息,但前提只能该账号据有权限管理才能操作。对于会计财务等岗位,系统还拥有数据统计分析的功能,方便绩效的统计。对于老板,则拥有该系统的所有权限。我们生活在互联网的时代,生活已经越来越信息化,在租车这个行业,使用信息化的管理与运营是迫在眉睫的。信息化去管理公司,必然会减少相应的人力和物力,这就能为公司节省开支。信息化的运营,数据能更加直观的查找与阅览。相比传统的手工单,电子单不仅环保,有便捷。信息化的租车十分有意义。第二章 系统有关技术2.1 Java语言Java是一门优秀的编程语言。当今社会,学习Java的人众多,可见其受欢迎程度与实用性之高。Java是太阳微系统公司在一九九五年五月份发布的高级程序设计语言。Java可用于多种平台,Java是一种面向对象编程的语言,其吸收了C+编程语言的多种优点,舍弃了C+编程语言中很难理解的多继承,指针等概念。多态,继承,封装是Java的三大特性。2.2 J2EE平台J2EE是由太阳公司的技术人员和很多厂家一同定制且获得广泛认可的工业标准,第一个版本是在1999年发布,2017年JavaEE问世,历经了将近20年。20年的沉淀,可见其厉害。2.3 B/S架构B/S架构就是浏览器和服务器的组合,该架构是跟随着互联网技术的兴起。B/S架构的最大特点是用户能随时随的轻松使用,无需安装其他指定软件。用户只需通过浏览器和网络就能进行操作。当今社会,windows在桌面电脑已经占据了大部分天下,浏览器更是成为了标准配置,B/S架构的系统对于使用的系统完全没有限制,这大大突破了C/S架构对系统一对一的限制。2.4 SpringBoot-Mybatis整合2.4.1Spring框架Spring框架是为解决企业应用程序开发复制性而创建的,分层架构允许你选择使用某一个组件是框架的优势之一。更重要的是Spring是一个开源的,轻量级的,带有控制反转与面向切面编程的框架。Spring框架是J2EE中相当重要的一个框架。Spring框架有七大模块。Spring Core是框架中最为基础的部分,有IOC容器,并对Bean进行管理。SpringCore有单例模式和多例模式,单例模式是Java的二十三种设计模式之一。其种autowire注解也是相当的好用,极大程度减少了代码的编写。Spring Context是Spring的上下文,扩展出的有JNDI,EJB,国际化,调度,电子邮件等功能。2.4.2SpringBootSpringBoot是一个上手难度不大,但精通很艰难的全新框架。SpringBoot设计的目的是为了将Spring操作简化,凡是Spring拥有的功能,SpringBoot全部都有。其架构风格是微服务,服务威化。它的优点有快速创建并且独立运行Spring项目以及主流框架的集成,是嵌入式的Servlet容器,打的jar包,无需打成war包。拥有自动依赖与版本控制,不用配置大量xml,没有代码生成,是真正的开箱即用。与云计算的天然集成,默认优于配置。2.4.3Mybatis框架MyBatis 本是阿帕奇公司的一个开源项目,叫iBatis。MyBatis是一个优秀的持久化框架,支持定制的SQL、高级映射、存储过程,避免了许多的JDBC代码,手动设置参数并获取结果集。还可以配置为简单的XML或注释,使用本地映射接口,并使用java POJOs映射数据库中的记录。2.5 MySQL数据库MySQL是非常流行的数据库管理系统,MySQL把数据保存在不同的表中,并非所有数据都存储在同一大型仓库中。 这提高了数据获取和修改的速度,还增加了灵活性。目前,MySQL已经广泛运用于互联网上的中型、小型网站上,因为MySQL的规模小、速度快、总拥有成本低,特别是代码开源的特征,因此选择MySQL作为该租车系统数据库可以一定程度上降低运行成本。2.6 Maven技术Maven是阿帕奇公司的一个产品,是一个用来做项目管理的集成的工具。Maven为开发人员提供了完整的生命周期框架,开发团队可以自动构建项目基础结构,使用的是标准的目录结构和默认的构建生命周期。在多个团队开发中,Maven能让项目设置变得简单,开发人员无需考虑jar包版本兼容问题,可以专心的开发。也降低了项目的出错率。2.7 Bootstrap3.0Bootstrap是美国推特公司设计出来的一个模板框架,该框架提供了大量的前端素材,样式。如表格、页码条、模态框、按钮样式、以及一些特殊的标志。Bookstrap是基于JavaScript、Css、Html的前端框架,该框架包含整个库中的移动设备优先样式,既客户用手机、平板、电脑使用该租车系统,页面样式都是会自适应的。这是一款易上手,且功能强大的前端框架,对于对前端不熟悉的后端开发人员,这框架是非常好用的。2.8 EChartsECharts是一款开源且免费的工具,是一个用JavaScript实现的开源可看库,它覆盖了各个行业的图表,满足了各个行业的各种需求。ECharts让数据图表化,给人提供直观,生动,可交互的体验。且官网中表格样式十分丰富。开发人员只需往里填充数据,无需了解其如何实现。5第三章 系统分析3.1 系统市场可行性分析随着市场经济的发展,人民的生活质量越来越高,愈来愈多的人会选择自由行的方式旅游,且大部分人会选择在当地租车自驾游。因此,越来越多的投资者选择了开汽车出租公司。而这款系统的确能简化租车公司的租车流程。此系统不仅能进行业务上的操作,也是一个带有审计的管理系统,能让员工工作更加有规矩。3.2 系统可操作性分析本租车后台系统,旨在简化员工操作租车的流程、规范员工的行为、使高管能更好地监管下属、方便老板对公司业绩地审查、简化公司绝大部分的业务,在简化操作流程的同时,也能节省顾客的时间,给顾客带来更好的租车体验。该系统不仅在功能上实用,在操作上也是简洁大方,模块分明,思路清晰。因该系统是给公司内部员工使用,故界面以简洁清晰为主。3.3 系统 MVC架构模式分析3.3.1 MVC架构实现如图3-1。表现层业务层持久层数据库 图3-1 MVC架构3.3.2 MVC架构分析该租车系统主要是model、view、control组成,前端用的是html,有ajax发送请求,control层对其进行指定拦截,在control层调用service层,service层调用dao层(xxxMapper.java和xxxMapper.xml)。该系统的逻辑判断主要在前端html用js判断、control层判断,前端和后端间数据是以json的格式的传递。3.4 系统主要功能需求分析3.4.1系统业务后台管理分为后台首页、公告页面、基础管理、业务管理、系统管理、统计分析、注销登陆。系统业务流程如图3-2所示。(1) 后台首页:后台首页主要功能有工时填报、消息发送、消息展示。工时填报:给公司的员工填报本周的工作情况,以便相关部门员工在月末对其工资的结算。工时填报是需要审核的,若工时存在疑问,相关部门员工可对该工时进行拒收。如工时被拒收,系统将会自动发送一条消息该用户,消息内容例:小明,您好!您上报的工时未通过审核,请重新提交。消息发送:方便员工之间的通信,用户可以在选择框选择部门,再选择部门里的员工名字,然后就可以发送消息了。考虑到系统压力问题,消息接受功能,3分钟接收一次,若有较紧急的联系,还是建议员工间以电话的方式联系。消息展示:会展示发件人的名字,发件时间,消息是否已被阅读的状态。点击查看后再点关闭,消息将不会再展示。消息列表只展示未读的消息。(2) 基础管理:基础管理主要功能有客户管理和车辆管理客户管理:客户管理有分页展示客户,每个页面展示五条客户信息,对客户进行新增,对客户进行修改,删除所选的客户,编辑指定客户,以模糊的方式查询客户,对客户资料进行导出,导出表格的格式可以是.xls,也可以设置为其他格式,客户的展示内容有身份证、用户名、性别、地址、电话、职位、创建时间、操作(编辑于删除)。车辆管理:车辆管理有分页展示车辆,每页显示五列车辆信息,新增车辆,修改车辆,删除车辆,编辑车辆,模糊查询车辆(根据车辆品牌),车辆的展示内容有车牌号、车类型、车辆颜色、车辆价格、车辆出租价格、押金、状态(已归还/未归还)、型号、车辆图片、创建时间、操作(编辑于删除)。(3) 业务管理:业务管理主要功能有汽车出租、出租单管理、汽车入库、检查单管理。汽车出租:出租汽车的前提是需要在客户管理页面已经录入客户信息,然后在汽车出租页面输入客户的身份证点击查询,此时就会显示出所有未出租的车辆信息,已经出租按钮,点击出租按钮,会弹出模态框,模态框中有起租时间(为当前时间,且无法修改),需要选择还车时间(为确保时间格式一致,则还车时间无法手动输入,会弹出一个小日历供选择时间),系统将生成不重复的随机出租单号,客户身份证,车牌号,出租价格,操作员,上述描述中只有出租价格可修改,出租时间可选择,其他选项皆为不可修改状态。出租单管理:凡是进行了出租操作的客户,都会自动生成一个出租单,出租单就在出租单管理页面展示,出租单展示的内容有出租单号、价格、起始时间、归还时间、状态(完结/未结束)、客户身份证、车牌号、操作用、创建时间、操作(编辑,删除,导出)导出的格式是.xls,样式如入住酒店交押金的凭据。汽车入库:和汽车出租类似,需要输入客户的身份证号,就会显示出客户的租车信息,展示的内容有出租单号、出租价格、起租时间、归还时间、状态、操作员、出租单创建时间、车牌号、车辆品牌、车辆价格、租金、押金、车辆型号、客户身份证、客户名字、性别、客户住址、客户电话、客户职位、车辆图片,以及生成校验单按钮。点击校验单按钮,弹出模态框,内容为系统会随机生成一个不重复的校验单号,检查日期同样是日历选择方式填写,出租单号,操作员,以上除了检查日期,其他都是不可修改的。还有存在问题(如违规),赔付金额,问题描述(如超速驾驶)。检查单管理:分页展示检查单内容,内容有校验单号,校验日期,内容,问题,赔付金额,操作员,出租单号,创建时间。(4) 系统管理:系统管理主要功能有角色管理、用户管理、日志管理、公告管理、工时管理、数据源监控。角色管理:角色管理是根据位置写权限和设置权限,角色管理页面列出了角色编号,标题内容和职位的描述,权限号码,操作按钮(编辑、删除)进行分页展示。具有增删查改功能,也有对职称的模糊搜索。用户管理:用户管理主要是对用户账号的编写,对序号、用户登录名、身份证、真实名、性别、地址、电话、职位、操作(编辑、操作、分配)进行分页展示。同样具有增删查改操作,分配按钮主要用于对用户权限进行分配。点击分配按钮会弹出模态框展示所有权限的内容,点击对应的分配按钮,即分配成功。也有对登录名的模糊搜索。日志管理:日志管理主要是对用户登录系统的记录,记录的内容有序号、登录用户(真实名+登录号)、ip地址、登录时间、操作(删除)。分页显示内容,也有对登录用户的模糊搜索,以模态框的形式进行展示。公告管理:主要是对公告进行管理,将序号、标题、创建时间、操作员、操作(查看、删除)进行分页展示。右上方是新增按钮。点击查看按钮,以模态框的形式对公告内容进行展示。本页面主要用来对公告进行新增和删除操作。工时管理:主要对员工发来的工时进行审核操作,分页展示的内容有真实名字、工作内容(查看按钮,点击查看按钮,以模态框的形式对工时内容进行展示)、工时提交时间、工作状态(本页面只显示未批的工时)、操作(通过,驳回)。如点击驳回按钮将会自动发送消息告知发送者,工时被驳回。数据源监控:跳转到druid/index.html页面。(5) 公告页面:主要是对公告内容进行分页展示,内容有序号、标题、创建时间、操作员、操作(查看),点击查看按钮,以模态框的形式对公告内容进行展示。(6) 统计分析:统计分析主要功能有客户地区统计、业务员年度销售额、公司年度月份销售额。客户地区统计:对汽车出租系统客户地址进行统计,用饼图样式进行展示。饼图其实就是圆形的扇形图,通常是在统计模块中使用,就如一个圆形划分出多个部分,以颜色区别,每种颜色对应不同的事项,用户能一样看出信息的对比,每个项的大小与每个项的总和的比率是一一对应的。业务员年度销售额:对业务员年度销售额进行统计,以垂直条形图的形式进行展示。可选择年份进行阅读,数据清晰明了。公司年度月份销售额:对公司一年的月销售额进行统计,以曲线图的形式进行展示,可选择年份进行阅读,数据清晰明了。 图3-2 系统功能流程图3.4.2系统处理逻辑(1) 数据展示:JavaScript使用ready方法发送Ajax请求,后端将数据以json的格式返回。前端对需要展示的数据进行加载显示。(2) 数据操作:对于一些较敏感的操作,前端需要做数据校验,校验通过,发送Ajax请求,控制层再次进行判断,判断通过,调用Service层,Service层调用Dao层,通过namespace找到对应mapper.xml进行sql操作。控制层进行日志操作,记录用户的操作。3.5 系统流程设计根据项目要求,建立功能对应的数据库表。 系统所需的接口是用HTML编写的。 HTML被用作整个站点的框架。 网站框架的内容部分用书柜模板装饰和美化。 使用div布局可以大大提高页面加载速度,并且各种浏览器也支持该布局。 在网页的动态效果方面,jQuery渲染不仅使网页更加简洁美观,而且还增强了用户体验。在请求方面,该项目主要使用Ajax异步请求模式。 AJAX是一种异步JavaScript和XML技术,允许用户在浏览器访问期间进行异步更新。 简而言之,这是本地刷新。 与传统网页相比,不再需要重新加载整个网页界面以进行刷新。 Ajax和JSON用于前后站之间的数据交换。系统的流程图如图3-6所示。 系统流程图3-6 第四章 系统设计4.1 系统体系结构设计客户机应用服务器数据库服务器表现层:将界面展示给用户,接受用户的输入后,向应用服务器发送请求,等待服务器处理完成返回响应业务逻辑层:处理服务的业务逻辑,向数据库发送请求数据持久层:通过SQL语句操作数据库,处理与数据库有关的逻辑本汽车出租后台系统的体系结构是B/S结构,是浏览器与服务器的结构,体系结构如图4-1所示。 体系结构图4-1 浏览器-服务器结构相较于客户端-服务器结构的优点有以下几点:(1)使用浏览器与服务器模式,仅用户操作系统支持浏览器浏览,这降低了使用率阈值。开发人员不需要专注于用户操作系统的平台,因此开发人员可以专注于逻辑开发而不是项目部署。(2)浏览器与服务器的模式能减少使用该的系统公司的资金消耗,公司只需给工作人员配备一台拥有浏览器且连得上网络的电脑就能规范使用,甚至平板、手机也能兼容,公司运营也无需开发系统的人员上门对公司的电脑进行安装。这种经济模式对公司的运营是非常有益的。(3)由于该系统是供公司内部人员操作,所用的网络也是内网,网络是安全的,所以开发人员主要专注于业务的操作,以及内部人员行为的控制与审计。4.2 系统数据关系设计4.2.1租车系统车辆信息实体如图4-2所示。车辆信息车辆图片车辆品牌创建时间车辆价格出租价格车牌号车辆颜色车辆型号车辆押金车辆状态车辆信息实体图4-2 4.2.2租车系统客户实体如图4-3所示:创建时间间身份证地址手机号职业性别名字客户信息客户实体图4-3 4.2.3租车系统出租订单实体如图4-4所示: 客户身份证起租时间交易状态归还时间订单总金额创建时间出租单号出租订单车牌号操作员出租订单实体图4-4 4.2.4租车系统用户实体如图4-5所示:用户ID登录名性别真实名权限标识MD5密码职业用户地址身份证手机号用户实体图4-5 4.2.5租车系统校验订单实体如图4-6所示:支付金额操作员出租单号问题描述创建时间校验单号校验订单生成时间校验内容校验订单实体图4-64.2.6租车系统公告实体如图4-7所示:ID内容标题创建时间操作员公告系统公告实体图4-74.2.7租车系统消息实体如图4-8所示:ID状态标识发送时间内容接收者发送者消息消息实体图4-84.2.8租车系统工时实体如图4-9所示:ID状态标识发送时间内容真实名工时工时实体图4-94.2.9租车系统职位实体如图4-10所示:ID职位标识职位描述职称职位职位实体图4-104.3 系统数据表设计租车系统需要保证各个表间信息交互是安全可靠的,为了模块系统之间协作的安全性和可靠性,有必要根据每个实体之间的属性关系创建对应的数据库表。,下面是租车系统的一些数据表的展示:4.3.1用户信息结构表如表4-1所示。表4-1 用户项表名称类型空默认值备注useridint否auto_incrementloginnamevarchar否空用户名identityvarchar否空身份证realnamevarchar否空真实名sexint否空0女1男addressvarchar否空地址phonevarchar否空手机号pwdvarchar否空密码md5加密存储positionvarchar否空职位availableint否空权限标识4.3.2出租单信息结构表如表4-2所示。表4-2 出租单项表名称类型空默认值备注rentidvarchar否空订单idpricedouble是空实付金额begindatedatetime是空起租时间returndatedatetime是空归还时间rentflagint是空订单状态identityvarchar是空客户身份证carnumbervarchar是空出租车辆车牌号opernamevarchar是空操作员createtimedatetime是空订单创建时间4.3.3客户信息结构表如表4-3所示。表4-3 客户结构表名称类型空默认值备注identity varchar否auto_increment身份证custnamevarchar否空客户名字sexint是空0女1男addressvarchar是空地址phonevarchar是空电话careervarchar是空职位createtimedatetime是空创建时间第五章 系统实现与测试5.1 系统总体实现与各个模块实现根据对汽车租赁后端系统的总需求分析,它逐渐在每个模块中实现。浏览器服务器采用三层设计结构,并从系统的Web层调用系统的应用程序层接口以写入数据库持久性。系统的Web层主要负责与用户的交互。用户对不同功能的请求是在Web服务层提出的,这可以大大减轻系统逻辑层的业务处理压力。其次,系统应用程序服务层主要负责与业务逻辑相关的操作,例如单点登录业务,退货/退款逻辑,咨询业务等。在整个项目的核心部分,业务流程的设计和处理整个系统;最后,系统的数据服务层处理与系统有关的数据操作,并在该层中实现与数据库的交互,从而使数据持久化。5.2 后台管理系统5.2.1租车系统项目搭建,环境约束-jdk1.8,Springboot推荐jdk1.7及以上,java version "1.8.0_201";-Maven3.x以上版本,Apache Maven 3.3.8;-IntellijlIDEA2019;IntelliJ IDEA 2019.2.4 x64-SpringBoot 2.5.0.RELEASE:2.5.05.2.2 Maven的设置需要的jar包:-org.springframework.boot.spring-boot-starter-org.springframework.boot.spring-boot-starter-web-org.springframework.boot.spring-boot-starter-jdbc-org.springframework.boot.mybatis-spring-boot-starter-org.thymeleaf.thymeleaf-spring5(模板引擎)-org.apache.poi(导出excel功能需要)-com.github.pagehelper(分页插件)-org.webjars.bookstrap(bookstrap3.0)-.ultraq.thymeleaf.thymeleaf.layout.dialect-com.alibaba.druid(数据源druid)-log4j(日志)-mysql.mysql-connector-java用Maven管理jar包以及工程之间的依赖关系。如图5-1、2图5-1图5-25.2.3相关配置的编写数据库相关:spring: datasource: username: root password: 979720410 driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql:/localhost:3306/ssm_curd2 type: com.alibaba.druid.pool.DruidDataSource initialSize: 5 minIdle: 5 maxActive: 20 maxWait: 60000 timeBetweenEvictionRunsMillis: 60000 minEvictableIdleTimeMillis: 300000 validationQuery: SELECT 1 FROM DUAL testWhileIdle: true testOnBorrow: false testOnReturn: false poolPreparedStatements: true filters: stat,wall,log4j maxPoolPreparedStatementPerConnectionSize: 20 useGlobalDataSourceStat: true connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500mybatis: config-location: classpath:mybatis/mybatis-config.xml mapper-locations: classpath:mybatis/mapper/*.xmlMVC拦截器设置:Mybatis-config配置:开启驼峰转换<settings> <setting name="mapUnderscoreToCamelCase" value="true"/></settings>分页插件的配置<plugins> <plugin interceptor="com.github.pagehelper.PageInterceptor"></plugin></plugins>5.3 代码结构5.3.1 Java代码大致结构如图5-3 代码结构图5-35.3.2页面结构大致如图5-4页面结构图5-45.3.3代码思路A, 拟写拦截器,将非登录需要的请求全部拦截。B. 页面分权限内容展示,将登录成功的用户的相应标识记录到session中,前端再进行判断显示对应的功能。C. 用户发送请求时,先前端进行校验,再后端校验,校验成功后再请求数据库。5.4 各模块测试效果(1)用户登录如图5-5用户登录图5-5(2)用户登录成功首页如图5-6登录成功首页图5-6(2) 公告页面如图5-7公告页面图5-7(3) 基础管理的客户管理页面如图5-8客户管理页面图5-8点击客户管理页面中的新增按钮会弹出一个模态框如图5-9 新增模态框图5-9点击客户管理页面中的编辑按钮会弹出一个模态框如图5-10编辑模态框图5-10点击客户管理页面中的删除按钮会提示是否要删除如图5-11删除提示图5-11批量删除框,如果点击右上角的框就会自动全选,手动选了全部的列,右上角的框也会自动上勾。如图5-12批量删除图5-12分页条,如果是已经处于最末页,末页按钮将无法点击,同理首页也是一样,如果是处在第一页,前一页按钮将无法点击,同理下一页也一样。无法点击将是灰色。如图5-13分页条图5-13分页信息,显示当前页数,总页数,总记录数。如图5-14分页信息图5-14(4) 基础管理中的车辆管理页面如图5-15车辆管理图5-15(5) 业务管理的汽车出租页面如图5-16出租页面图5-16(6) 业务管理中的出租单页面如图5-17出租单页面图5-17(7) 业务管理中的汽车入库页面如图5-18 汽车入库页面图5-18(8) 业务管理中的校验单管理页面如图5-19校验单管理页面图5-19(9) 系统管理中的角色管理页面如图5-20 角色管理页面图5-20(10) 系统管理中的用户管理页面如图5-21用户管理页面图5-21(11) 系统管理中的日志管理页面如图5-22日志管理页面图5-22(13)系统管理中的公告管理页面如图5-23公告管理页面图5-23(12) 系统管理中的工时管理页面如图5-24工时管理页面图5-24(13) 统计分析中的客户地区统计页面如图5-25 客户地址统