免费汽车租赁管理系统统都有哪些要点

出租车管理系统平台有哪些功能?
留言记录查询和收听:可以根据电话号码和日期进行留言记录的查询,可以选择电脑声卡或杰佳通设备收听留言
学校管理系统的功能,不同类型的学校功能会不一样,看你是什么类型的学校,你可以去南博学校管理系统咨询下,我们就是用他们的系统,刚上,还在熟悉过程中。。感觉服务态度...
坐席管理功能能按功能设置普通坐席和值长坐席。普通坐席可实现登录、注销等基本坐席呼叫控制操作;实现电话接听、挂起、转移、挂断、外拨、会议等软式电话功能。值长坐席除...
点击一信窗口“发任务”,进入发任务页面,根据提示填写任务的相关内容,我们还可以选择任务的优先级“高,中,低”。
点击一信窗口“发活动”,...
深蓝KMPRO知识管理平台——是深蓝海域公司创新研发,基于互联网架构,快速分析企业知识结构、分类存储知识数据、共享知识应用、提升企业管理效率,增值企业知识资产,...
基本上要包含4个子系统:
1。业务管理子系统:处理业务流程与数据,实现电子商务
2。综合查询子系统:汇总下级系统上报的各类数据,生成各种报表,供企业管理人员查询...
答: 微信拉票票种分人工票和机刷票两种。机器刷票:通过设定好的程序进行刷票,低至0.1元1条。人工刷票:根据投票活动程序的难易程度不同,0.2-0.4元1条。老实人比...
答: 网络和软件都很不错的 还可以根据你自己的情况来选择 如果你英语和高数不错的话 可以学软件 如果都不是很理想的话 可以选择网络啊 我认为网络还是不错的 网络工程师...
答: 1.5M=0.5M ?没听说过,我就知道我家的2M=230KB,都说很正常,你还打算玩什么样的大型游戏?营业厅的给你说的天花乱坠,你问问给你装宽带的,根本不是那...
大家还关注
确定举报此问题
举报原因(必选):
广告或垃圾信息
激进时政或意识形态话题
不雅词句或人身攻击
侵犯他人隐私
其它违法和不良信息
报告,这不是个问题
报告原因(必选):
这不是个问题
这个问题分类似乎错了
这个不是我熟悉的地区易租汽车租赁管理系统 3.2
相关合集:
相关热搜:
租车已成为生活必备工具,不管你是旅游还是搬家,还是回家过节过年,有不同款式的车可以让你自由选择,让你能舒舒服服的到达目的地。租车软件哪个好呢?随着移动互联网的兴起,这种P2P租车模式也非常流行,车主和租客都能各取所需。这里为大家整理了一些最受欢迎的租车软件,其中包括神州租车、PP租车、宝贝租车、宝驾租车等多款租车App。车辆选择多、业务范围广、价格优...
高速下载地址
联通下载地址
电信下载地址
移动及其他下载地址
(您的评论需要经过审核才能显示)
我觉得现在的易租汽车租赁管理系统已经够我用得了,什么时候想换口味了,就试试试用软件的版本
跟其它交通运输相比,我个人认为这个易租汽车租赁管理系统还算是这里做的比较不错的软件了。
没想到易租汽车租赁管理系统的安装包都已经这么大了,变化真快,看来又有很多新功能了
请问各位把易租汽车租赁管理系统下载到电脑使用该怎么下啊。请帮忙,谢谢
易租汽车租赁管理系统哪里不好了?不懂的别瞎哔哔,一点素质都没有
好极了,这个易租汽车租赁管理系统是我用过最好的交通运输了
感觉比易租汽车租赁管理系统上一个版本好用,简体中文版试用软件
咨询一下这个易租汽车租赁管理系统安装起来,普通电脑安装会卡么
这个软件2.2MB,真的假的,还是试用软件,用过的朋友冒个泡哈
就喜欢用简体中文的软件,其他语言的根本看不懂。
热门关键词您所在位置: &
&nbsp&&nbsp&nbsp&&nbsp
(编)汽车租赁管理系统概述(52页)….doc 52页
本文档一共被下载:
次 ,您可全文免费在线阅读后下载本文档。
下载提示
1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。
2.该文档所得收入(下载+内容+预览三)归上传者、原创者。
3.登录后可充值,立即自动返金币,充值渠道很便利
需要金币:350 &&
你可能关注的文档:
··········
··········
汽车租赁主要是针对租赁车行开发的管理软件,主要是将原来的手写合同、表单、结算单通过软件管理来实现,有效防止人为的修改。同时将客户资料,车辆信息输入到计算机中,通过调用车辆客户信息,生成合同协议,提高了操作员的工作效率。
系统的核心模块是业务处理,其中包括车辆租赁、车辆归还、车况详细信息、各种单据的处理及报警管理。
系统主要采用Visual Basic6.0程序设计,并且利用Access数据库建立若干个表,再用VB中邦定工具,ADO等其它工具对数据进行操作,以便实现用户对系统的管理。
文章主要包括对系统进行详细的概述和对开发工具进行了简单的介绍。对系统的技术、经济、操作等方面的可行性进行了分析以及需求分析。对系统整体进行设计。对数据库的设计。描述了各个功能模块的详细设计。测试用例及结果分析。
关键词:汽车租赁管理系统;协议;车辆归还
The automobile leasing mainly is the management software that aims at the leasing garage development, mainly is pass original handwritten contract,form and list,the balance of accounts list the software management to carry out, prevent from effectively artificial of modification.In the meantime customer's data, the vehicle information inputs a calculator, passing to adjust to use the vehicle customer's information, born contract agreement, raise the work efficiency of the operator.
The core mold piece of the system is the business processing, including a vehicle leasing, vehicle to return among them, the car condition is detailed the processing of with information, various voucher and report to the police a management.
The system mainly adopts Visual Basic6.0 program designs, and make use of the Access database to build up some forms, settle other tool logarithmses, such as, tool, and ADO etc.s with the nation in VB again according to carry on an operation, in order to carry out a customer's management for system.
The article includes mainly to the system to carry on detailed of said all with folio to deliver tool to carry on simple introduction. Carried on analysis and need analysis to the possibility of with technique, economy, operation...etc. of the system. It is whole to carry on a design to the system.To the design of the database.Describe the detailed design of each function mold piece.The test uses the example and the result analysis.
Key words: The automobile leasi N The vehicle return
第1章 概 述 1
1.1 系统简介 1
1.2 开发背景 1
1.3 开发意义 2
1.4 研究内容 2
正在加载中,请稍后...在这个暑假假期中,我们团队做了一个汽车的租赁管理的网站,我们团队采用分工的开发的方式,其中史秀源负责这个系统的统筹管理,罗竣元负责汽车管理的模块,谭枝敬负责前台职工管理,卢伟斌负责前台管理,闫龙飞负责后台的管理。我们的分工的系统是放在码
云上(https://git.oschina.net/nn)和用smartgit进行项目的管理的,现在我们的car 项目截图如下,每个成员将自己修改的内容pull到码云上,其他成员实时更新网站上的东西,整个团队就可以知道整个项目的开发进度,从而实现了对项目开发过程的精确的管理。
我们这个系统采用ssm框架,就是Spring ,SpringMVC ,mybstis 的简称,mybatis的作用作为一个连接数据库的框架,可以很好配置连接好数据库, 有mybatis,我们对数据库增删改查的操作更为简便了。SSM框架是目前网站开发中比较常用和比较流行的框架,其中
ssm框架有六个层次controller ,dao层,model层,service层,mapping层,serviceImp层,我们的工程相关的截图如下;
相关的六个层次的截图如下其中,mybatis 用来连接数据库,有mybatis,我们对数据库增删改查的操作更为简便了。SSM框架,我们用MAVEN工具对他们进行管理,maven 工具的主要作用就是为我们的工程自动配置好我们所需的架包,是通过POM.xml 文件进行依懒管理的。pom.xml的代码如下,配置了相关的依赖的管理;
其中pom.xml 配置文件的代码如下
&project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"&
&modelVersion&4.0.0&/modelVersion&
&groupId&com.zzty&/groupId&
&artifactId&car&/artifactId&
&packaging&war&/packaging&
&version&0.0.1-SNAPSHOT&/version&
&name&car Maven Webapp&/name&
&url&http://maven.apache.org&/url&
&properties&
&!-- spring版本号 --&
&spring.version&4.0.2.RELEASE&/spring.version&
&!-- mybatis版本号 --&
&mybatis.version&3.1.1&/mybatis.version&
&!-- log4j日志文件管理包版本 --&
&slf4j.version&1.7.7&/slf4j.version&
&log4j.version&1.2.17&/log4j.version&
&/properties&
&dependencies&
&dependency&
&groupId&org.apache.poi&/groupId&
&artifactId&ooxml-schemas&/artifactId&
&version&1.0&/version&
&/dependency&
&dependency&
&groupId&dom4j&/groupId&
&artifactId&dom4j&/artifactId&
&version&1.6.1&/version&
&/dependency&
&dependency&
&groupId&net.sourceforge.jexcelapi&/groupId&
&artifactId&jxl&/artifactId&
&version&2.6.12&/version&
&/dependency&
&dependency&
&groupId&junit&/groupId&
&artifactId&junit&/artifactId&
&version&4.11&/version&
&!-- 表示开发的时候引入,发布的时候不会加载此包 --&
&scope&test&/scope&
&/dependency&
&!-- spring核心包 --&
&dependency&
&groupId&org.springframework&/groupId&
&artifactId&spring-core&/artifactId&
&version&${spring.version}&/version&
&/dependency&
&dependency&
&groupId&org.springframework&/groupId&
&artifactId&spring-web&/artifactId&
&version&${spring.version}&/version&
&/dependency&
&dependency&
&groupId&org.springframework&/groupId&
&artifactId&spring-oxm&/artifactId&
&version&${spring.version}&/version&
&/dependency&
&dependency&
&groupId&org.springframework&/groupId&
&artifactId&spring-tx&/artifactId&
&version&${spring.version}&/version&
&/dependency&
&dependency&
&groupId&org.springframework&/groupId&
&artifactId&spring-jdbc&/artifactId&
&version&${spring.version}&/version&
&/dependency&
&dependency&
&groupId&org.springframework&/groupId&
&artifactId&spring-webmvc&/artifactId&
&version&${spring.version}&/version&
&/dependency&
&dependency&
&groupId&org.springframework&/groupId&
&artifactId&spring-aop&/artifactId&
&version&${spring.version}&/version&
&/dependency&
&dependency&
&groupId&org.springframework&/groupId&
&artifactId&spring-context-support&/artifactId&
&version&${spring.version}&/version&
&/dependency&
&dependency&
&groupId&org.springframework&/groupId&
&artifactId&spring-test&/artifactId&
&version&${spring.version}&/version&
&/dependency&
&!-- mybatis核心包 --&
&dependency&
&groupId&org.mybatis&/groupId&
&artifactId&mybatis&/artifactId&
&version&${mybatis.version}&/version&
&/dependency&
&!-- mybatis/spring包 --&
&dependency&
&groupId&org.mybatis&/groupId&
&artifactId&mybatis-spring&/artifactId&
&version&1.1.0&/version&
&/dependency&
&!-- 导入java ee jar 包 --&
&dependency&
&groupId&javax&/groupId&
&artifactId&javaee-api&/artifactId&
&version&7.0&/version&
&/dependency&
&!-- 导入Mysql数据库链接jar包 --&
&dependency&
&groupId&mysql&/groupId&
&artifactId&mysql-connector-java&/artifactId&
&version&5.1.30&/version&
&/dependency&
&!-- 导入dbcp的jar包,用来在applicationContext.xml中配置数据库 --&
&dependency&
&groupId&commons-dbcp&/groupId&
&artifactId&commons-dbcp&/artifactId&
&version&1.2.2&/version&
&/dependency&
&!-- JSTL标签类 --&
&dependency&
&groupId&jstl&/groupId&
&artifactId&jstl&/artifactId&
&version&1.2&/version&
&/dependency&
&!-- 日志文件管理包 --&
&!-- log start --&
&dependency&
&groupId&log4j&/groupId&
&artifactId&log4j&/artifactId&
&version&${log4j.version}&/version&
&/dependency&
&!-- 格式化对象,方便输出日志 --&
&dependency&
&groupId&com.alibaba&/groupId&
&artifactId&fastjson&/artifactId&
&version&1.1.41&/version&
&/dependency&
&dependency&
&groupId&org.slf4j&/groupId&
&artifactId&slf4j-api&/artifactId&
&version&${slf4j.version}&/version&
&/dependency&
&dependency&
&groupId&org.slf4j&/groupId&
&artifactId&slf4j-log4j12&/artifactId&
&version&${slf4j.version}&/version&
&/dependency&
&!-- log end --&
&!-- 映入JSON --&
&dependency&
&groupId&org.codehaus.jackson&/groupId&
&artifactId&jackson-mapper-asl&/artifactId&
&version&1.9.13&/version&
&/dependency&
&!-- 上传组件包 --&
&dependency&
&groupId&commons-fileupload&/groupId&
&artifactId&commons-fileupload&/artifactId&
&version&1.3.1&/version&
&/dependency&
&dependency&
&groupId&commons-io&/groupId&
&artifactId&commons-io&/artifactId&
&version&2.4&/version&
&/dependency&
&dependency&
&groupId&commons-codec&/groupId&
&artifactId&commons-codec&/artifactId&
&version&1.9&/version&
&/dependency&
&!-- QRcode --&
&dependency&
&groupId&com.google.zxing&/groupId&
&artifactId&core&/artifactId&
&version&3.2.1&/version&
&/dependency&
&dependency&
&groupId&com.google.zxing&/groupId&
&artifactId&javase&/artifactId&
&version&3.2.1&/version&
&/dependency&
&/dependencies&
&finalName&car&/finalName&
&/project&
  2 现在就是配置resources& 下面的四个文件
jdbc.properties&& 连接你的数据库的配置,还有一些作用自己理解。
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://192.168.31.242:3306/car_db?useUnicode=true&characterEncoding=utf-8&useSSL=false
username=car
password=root
#定义初始连接数
initialSize=0
#定义最大连接数
maxActive=20
#定义最大空闲
maxIdle=20
#定义最小空闲
#定义最长等待时间
maxWait=60000
imagePath=D:/sts/workspace/car/src/main/webapp/resources/image/
log4.properties&& 用来记录工程运行调试的记录什么的。
#定义LOG输出级别
log4j.rootLogger=INFO,Console,File
#定义日志输出目的地为控制台
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.Target=System.out
#可以灵活地指定日志输出格式,下面一行是指定具体的格式
log4j.appender.Console.layout = org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=[%c] - %m%n
#文件大小到达指定尺寸的时候产生一个新的文件
log4j.appender.File = org.apache.log4j.RollingFileAppender
#指定输出目录
#定义文件最大大小
log4j.appender.File.MaxFileSize = 10MB
# 输出所以日志,如果换成DEBUG表示输出DEBUG以上级别日志
log4j.appender.File.Threshold = ALL
log4j.appender.File.layout = org.apache.log4j.PatternLayout
log4j.appender.File.layout.ConversionPattern =[%p] [%d{yyyy-MM-dd HH\:mm\:ss}][%c]%m%n
3 spring mvc .xml
&?xml version="1.0" encoding="UTF-8"?&
&beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.1.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd"&
&!-- 自动扫描该包,使SpringMVC认为包下用了@controller注解的类是控制器 --&
&context:component-scan base-package="car.*" /&
&!-- 引入配置文件 --&
&bean id="propertyConfigurer"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"&
&property name="location" value="classpath:jdbc.properties" /&
&!--避免IE执行AJAX时,返回JSON出现下载文件 --&
&bean id="mappingJacksonHttpMessageConverter"
class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"&
&property name="supportedMediaTypes"&
&value&text/charset=UTF-8&/value&
&/property&
&!-- 启动SpringMVC的注解功能,完成请求和注解POJO的映射 --&
class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"&
&property name="messageConverters"&
&ref bean="mappingJacksonHttpMessageConverter" /&
&!-- JSON转换器 --&
&/property&
&!-- 定义跳转的文件的前后缀 ,视图模式配置-这里的配置我的理解是自动给后面action的方法return的字符串加上前缀和后缀,变成一个 可用的url地址--&
&bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"&
&property name="prefix" value="/WEB-INF/jsp/" /&
&property name="suffix" value=".jsp" /&
&!-- 配置文件上传,如果没有使用文件上传可以不用配置,当然如果不配,那么配置文件中也不必引入上传组件包 --&
&bean id="multipartResolver"
class="org.springframework.web.multipart.commons.CommonsMultipartResolver"&
&!-- 默认编码 --&
&property name="defaultEncoding" value="utf-8" /&
&!-- 文件大小最大值 --&
&property name="maxUploadSize" value="" /&
&!-- 内存中的最大值 --&
&property name="maxInMemorySize" value="40960" /&
4 spring mybatis.xml& 他的作用就是就Spring 和Mybatis 整合起来。
&?xml version="1.0" encoding="UTF-8"?&
&beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.1.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd"&
&!-- 自动扫描 --&
&context:component-scan base-package="car.*" /&
&!-- 引入配置文件 --&
&bean id="propertyConfigurer"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"&
&property name="location" value="classpath:jdbc.properties" /&
&bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close"&
&property name="driverClassName" value="${driver}" /&
&property name="url" value="${url}" /&
&property name="username" value="${username}" /&
&property name="password" value="${password}" /&
&!-- 初始化连接大小 --&
&property name="initialSize" value="${initialSize}"&&/property&
&!-- 连接池最大数量 --&
&property name="maxActive" value="${maxActive}"&&/property&
&!-- 连接池最大空闲 --&
&property name="maxIdle" value="${maxIdle}"&&/property&
&!-- 连接池最小空闲 --&
&property name="minIdle" value="${minIdle}"&&/property&
&!-- 获取连接最大等待时间 --&
&property name="maxWait" value="${maxWait}"&&/property&
&!-- spring和MyBatis完美整合,不需要mybatis的配置映射文件 --&
&bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"&
&property name="dataSource" ref="dataSource" /&
&!-- 自动扫描mapping.xml文件 --&
&property name="mapperLocations" value="classpath:car/mapping/*.xml"&&/property&
&!-- DAO接口所在包名,Spring会自动查找其下的类 --&
&bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"&
&property name="basePackage" value="car.dao" /&
&property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"&&/property&
&!-- (事务管理)transaction manager, use JtaTransactionManager for global tx --&
&bean id="transactionManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager"&
&property name="dataSource" ref="dataSource" /&
&5.还有webapp 下面的WEB-INF下面的web.xml 的配置
&?xml version="1.0" encoding="UTF-8"?&
&web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0"&
&display-name&Archetype Created Web Application&/display-name&
&!-- Spring和mybatis的配置文件 --&
&context-param&
&param-name&contextConfigLocation&/param-name&
&param-value&classpath:spring-mybatis.xml&/param-value&
&/context-param&
&!-- 编码过滤器 --&
&filter-name&encodingFilter&/filter-name&
&filter-class&org.springframework.web.filter.CharacterEncodingFilter&/filter-class&
&async-supported&true&/async-supported&
&init-param&
&param-name&encoding&/param-name&
&param-value&UTF-8&/param-value&
&/init-param&
&filter-mapping&
&filter-name&encodingFilter&/filter-name&
&url-pattern&/*&/url-pattern&
&/filter-mapping&
&!-- Spring监听器 --&
&listener&
&listener-class&org.springframework.web.context.ContextLoaderListener&/listener-class&
&/listener&
&!-- 防止Spring内存溢出监听器 --&
&listener&
&listener-class&org.springframework.web.util.IntrospectorCleanupListener&/listener-class&
&/listener&
&servlet-mapping&
&servlet-name&default&/servlet-name&
&url-pattern&/resources/*&/url-pattern&
&/servlet-mapping&
&!-- Spring MVC servlet --&
&servlet-name&SpringMVC&/servlet-name&
&servlet-class&org.springframework.web.servlet.DispatcherServlet&/servlet-class&
&init-param&
&param-name&contextConfigLocation&/param-name&
&param-value&classpath:spring-mvc.xml&/param-value&
&/init-param&
&load-on-startup&1&/load-on-startup&
&async-supported&true&/async-supported&
&/servlet&
&servlet-mapping&
&servlet-name&SpringMVC&/servlet-name&
&!-- 此处可以可以配置成*.do,对应struts的后缀习惯 --&
&url-pattern&/&/url-pattern&
&/servlet-mapping&
&welcome-file-list&
&welcome-file&/index.jsp&/welcome-file&
&/welcome-file-list&
&!-- 配置SESSION超时,单位是分钟 --&
&session-config&
&session-timeout&15&/session-timeout&
&/session-config&
&/web-app&
现在就是将ssm框架搭好起来了,接下来我们团队的工作就是进行建数据库的工作,我们在我们其中一个成员的电脑建立一个数据库作为服务器,我们其他的成员通过使用一个局域网来访问他的数据库,从而形成了大家随时修改数据的任何内容都可以及时让团队的其他的成员看到数据的变化。我们前期主要是建了六个表,后续还会添加新的表根据我们系统的功能进行相应的扩展。
上面是建表相关的需求文档,现在只是截取一小部分
三:现在将整个框架基本建立起来了,数据库也搭建起来了,现在就是该是团队奋斗敲代码的时间了,其中相关的代码就是以数据为中心,以jsp页面为显示,对数据进行增删改查的操作。整个系统无论做的多么炫酷(使用了前端的有关的框架和模板),对于后端而言,都是对数据库进行相关的增删改查。现在就汽车租赁管理系统用户的登陆和注册的操作来证实我们团队的心得感受。我们直接以相关的代码来一一讲解和说明,废话不多说,直接上代码!
1 首先是model 层,Mapping层,Dao层,service层,serviceImp层,controller层来说明。首先是model 层,这个Customer层定义了用户相关的属性。
package car.
public class Customer {
public Integer getId() {
public void setId(Integer id) {
public String getUsername() {
public void setUsername(String username) {
this.username = username == null ? null : username.trim();
public String getPwd() {
public void setPwd(String pwd) {
this.pwd = pwd == null ? null : pwd.trim();
public String getIdcard() {
public void setIdcard(String idcard) {
this.idcard = idcard == null ? null : idcard.trim();
public Integer getKeyid() {
public void setKeyid(Integer keyid) {
this.keyid =
public String getName() {
public void setName(String name) {
this.name = name == null ? null : name.trim();
public String getPhone() {
public void setPhone(String phone) {
this.phone = phone == null ? null : phone.trim();
public String getKeyname() {
public void setKeyname(String keyname) {
this.keyname = keyname == null ? null : keyname.trim();
2.再次就是dao 层,他定义对Customer这个对象相关的方法,这些可以看出也就是相应的增删改查的操作。这就辅证刚才所陈述的语句。
package car.
import car.model.C
public interface CustomerMapper {
int deleteByPrimaryKey(Integer id);
int insert(Customer record);
int insertSelective(Customer record);
Customer selectByPrimaryKey(Integer id);
int updateByPrimaryKeySelective(Customer record);
int updateByPrimaryKey(Customer record);
int updateByUserName(Customer record);
Customer selectByName(String username);
3就是Mapping层,这个层主要连接数据的操作,就是一条条对数据库的数据进行相关的增删改查的操作的SQL语句,这些SQL语句都是基于Mybatis框架进行相应的封装而写出来。 在我们数据库的知识中,如下代码我们也可以看得懂是对数据进行增删改查的操作。
&?xml version="1.0" encoding="UTF-8" ?&
&!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" &
&mapper namespace="car.dao.CustomerMapper" &
&resultMap id="BaseResultMap" type="car.model.Customer" &
&id column="id" property="id" jdbcType="INTEGER" /&
&result column="username" property="username" jdbcType="VARCHAR" /&
&result column="pwd" property="pwd" jdbcType="VARCHAR" /&
&result column="idcard" property="idcard" jdbcType="VARCHAR" /&
&result column="keyid" property="keyid" jdbcType="INTEGER" /&
&result column="name" property="name" jdbcType="VARCHAR" /&
&result column="phone" property="phone" jdbcType="VARCHAR" /&
&result column="keyname" property="keyname" jdbcType="VARCHAR" /&
&/resultMap&
&sql id="Base_Column_List" &
id, username, pwd, idcard, keyid, name, phone, keyname
&select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" &
&include refid="Base_Column_List" /&
from customer
where id = #{id,jdbcType=INTEGER}
&select id="selectByName" resultMap="BaseResultMap" parameterType="java.lang.String" &
&include refid="Base_Column_List" /&
from customer
where username = #{username,jdbcType=VARCHAR}
&delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" &
delete from customer
where id = #{id,jdbcType=INTEGER}
&insert id="insert" parameterType="car.model.Customer" &
insert into customer (id, username, pwd,
idcard, keyid, name,
phone, keyname)
values (#{id,jdbcType=INTEGER}, #{username,jdbcType=VARCHAR}, #{pwd,jdbcType=VARCHAR},
#{idcard,jdbcType=VARCHAR}, #{keyid,jdbcType=INTEGER}, #{name,jdbcType=VARCHAR},
#{phone,jdbcType=VARCHAR}, #{keyname,jdbcType=VARCHAR})
&insert id="insertSelective" parameterType="car.model.Customer" &
insert into customer
&trim prefix="(" suffix=")" suffixOverrides="," &
&if test="id != null" &
&if test="username != null" &
&if test="pwd != null" &
&if test="idcard != null" &
&if test="keyid != null" &
&if test="name != null" &
&if test="phone != null" &
&if test="keyname != null" &
&trim prefix="values (" suffix=")" suffixOverrides="," &
&if test="id != null" &
#{id,jdbcType=INTEGER},
&if test="username != null" &
#{username,jdbcType=VARCHAR},
&if test="pwd != null" &
#{pwd,jdbcType=VARCHAR},
&if test="idcard != null" &
#{idcard,jdbcType=VARCHAR},
&if test="keyid != null" &
#{keyid,jdbcType=INTEGER},
&if test="name != null" &
#{name,jdbcType=VARCHAR},
&if test="phone != null" &
#{phone,jdbcType=VARCHAR},
&if test="keyname != null" &
#{keyname,jdbcType=VARCHAR},
&update id="updateByPrimaryKeySelective" parameterType="car.model.Customer" &
update customer
&if test="username != null" &
username = #{username,jdbcType=VARCHAR},
&if test="pwd != null" &
pwd = #{pwd,jdbcType=VARCHAR},
&if test="idcard != null" &
idcard = #{idcard,jdbcType=VARCHAR},
&if test="keyid != null" &
keyid = #{keyid,jdbcType=INTEGER},
&if test="name != null" &
name = #{name,jdbcType=VARCHAR},
&if test="phone != null" &
phone = #{phone,jdbcType=VARCHAR},
&if test="keyname != null" &
keyname = #{keyname,jdbcType=VARCHAR},
where id = #{id,jdbcType=INTEGER}
&update id="updateByPrimaryKey" parameterType="car.model.Customer" &
update customer
set username = #{username,jdbcType=VARCHAR},
pwd = #{pwd,jdbcType=VARCHAR},
idcard = #{idcard,jdbcType=VARCHAR},
keyid = #{keyid,jdbcType=INTEGER},
name = #{name,jdbcType=VARCHAR},
phone = #{phone,jdbcType=VARCHAR},
keyname = #{keyname,jdbcType=VARCHAR}
where id = #{id,jdbcType=INTEGER}
&update id="updateByUserName" parameterType="car.model.Customer" &
update customer
set username = #{username,jdbcType=VARCHAR},
idcard = #{idcard,jdbcType=VARCHAR},
name = #{name,jdbcType=VARCHAR},
phone = #{phone,jdbcType=VARCHAR}
where username = #{username,jdbcType=VARCHAR}
4 就是Service 层,service层的主要的作用,就是使用借口interface来定义相关的方法。
package car.
import java.util.L
import car.model.C
public interface CarService {
int deleteByPrimaryKey(Integer id);
int insert(Car record);
int insertSelective(Car record);
Car selectByPrimaryKey(Integer id);
int updateByPrimaryKeySelective(Car record);
int updateByPrimaryKey(Car record);
Car selectByName(String username);
List&Car& getAllCar();
5 serviceImp层,主要是对上面service 层的接口方法进行实现,也就是我们常说的接口的实现类,现在通过框架将他封装了起来罢了。实现service 层,主要使用Springmvc 框架的注解@service h和
@Resource 相关框架的操作。
package car.serviceI
import java.util.L
import javax.annotation.R
import org.springframework.stereotype.S
import car.dao.CarM
import car.model.C
import car.service.CarS
@Service("carService")
public class CarServiceImp implements CarService {
private CarMapper carM
public int deleteByPrimaryKey(Integer id) {
// TODO Auto-generated method stub
return this.carMapper.deleteByPrimaryKey(id);
public int insert(Car record) {
// TODO Auto-generated method stub
return this.carMapper.insert(record);
public int insertSelective(Car record) {
// TODO Auto-generated method stub
return this.carMapper.insertSelective(record);
public Car selectByPrimaryKey(Integer id) {
// TODO Auto-generated method stub
return this.carMapper.selectByPrimaryKey(id);
public int updateByPrimaryKeySelective(Car record) {
// TODO Auto-generated method stub
return this.carMapper.updateByPrimaryKeySelective(record);
public int updateByPrimaryKey(Car record) {
// TODO Auto-generated method stub
return this.carMapper.updateByPrimaryKey(record);
public Car selectByName(String username) {
// TODO Auto-generated method stub
return this.selectByName(username);
public List&Car& getAllCar() {
// TODO Auto-generated method stub
return this.carMapper.getAllCar();
6 接下来就是核心Controller 了,他实现整个系统的业务的逻辑,可以看出最后相关的登陆验证(相当于对数据进行查询)和注册(相当于对数据库进行添加)以及各种页面的跳转都是在Controller进行控制和处理的,Controller相当整个系统的大脑。
package car.
import java.io.IOE
import java.util.ArrayL
import java.util.L
import javax.annotation.R
import javax.servlet.http.HttpServletR
import javax.servlet.http.HttpServletR
import javax.servlet.http.HttpS
import org.springframework.stereotype.C
import org.springframework.ui.M
import org.springframework.web.bind.annotation.RequestM
import org.springframework.web.bind.annotation.RequestM
import org.springframework.web.bind.annotation.ResponseB
import org.springframework.web.servlet.ModelAndV
import com.sun.mail.handlers.message_rfc822;
import car.model.C
import car.model.C
import car.model.ReservationO
import car.model.W
import car.service.CarS
import car.service.CustomerS
import car.service.ReservationOrderS
import car.service.WorkerS
@Controller
@RequestMapping("/front")
public class FrontPlatForm {
private CustomerService customerS
private ReservationOrderService reservationOrderS
private WorkerService workerS
private CarService carS
@RequestMapping("/toindex")
public ModelAndView toindex(){
ModelAndView view = new ModelAndView("frontPlatForm/index");
@RequestMapping("/tologin")
public ModelAndView toLogin(){
ModelAndView view = new ModelAndView("frontPlatForm/login");
@RequestMapping("/login")
public ModelAndView login(HttpServletRequest request){
String username = request.getParameter("username");
String pwd = request.getParameter("pwd");
if(username!=null&&pwd!=null){
Customer customer = this.customerService.selectByName(username);
if(customer!=null&&pwd.equals(customer.getPwd())){
HttpSession session = request.getSession();
session.setAttribute("customer", customer);
ModelAndView view = new ModelAndView("frontPlatForm/customerInfo");
return new ModelAndView("frontPlatForm/login");
@RequestMapping("/doregister")
public String doregister(HttpServletRequest request, Model model) {
String username = request.getParameter("username");
String pwd = request.getParameter("pwd");
String pwd1 = request.getParameter("pwd1");
if (username!=""&&pwd!=""&&pwd1!="")
if(pwd.equals(pwd1)){
Customer customer = new Customer();
customer.setUsername(username);
customer.setPwd(pwd);
int c = this.customerService.insertSelective(customer);
if (c & 0) {
HttpSession session = request.getSession();
session.setAttribute("customer", customer);
return "frontPlatForm/login";
//跳转到账号信息页面
@RequestMapping("/toCustomerInfo")
public ModelAndView CustomerInfo(){
ModelAndView view = new ModelAndView("frontPlatForm/customerInfo");
//修改用户信息
@RequestMapping("/changeInfo")
public ModelAndView changeInfo(HttpServletRequest request){
String username = getCustomer(request).getUsername();
String idcard = request.getParameter("idcard");
String name =
request.getParameter("name");
String phone =
request.getParameter("phone");
Customer customer = new Customer();
customer.setUsername(username);
customer.setIdcard(idcard);
customer.setName(name);
customer.setPhone(phone);
int update = this.customerService.updateByUserName(customer);
System.out.println(update);
if (update & 0) {
String message = "修改成功";
request.getSession().setAttribute("mes", message);
HttpSession session = request.getSession();
session.setAttribute("customer", customer);
ModelAndView view = new ModelAndView("frontPlatForm/customerInfo");
// 密码修改界面
@RequestMapping("/changePwd")
public ModelAndView changePwd(HttpServletResponse response, HttpServletRequest request, Model model)
throws IOException {
String userName = getCustomer(request).getUsername();
String password = request.getParameter("password");
String oldpass = request.getParameter("oldpass");
Customer customer = new Customer();
customer = this.customerService.selectByName(userName);
if (customer.getPwd().equals(oldpass) && !(oldpass.equals(password))) {
customer.setName(userName);
customer.setPwd(password);
this.customerService.updateByUserName(customer);
ModelAndView view = new ModelAndView("frontPlatForm/login");
} else if (userName != null && password == null && oldpass == null) {
String message = "";
request.getSession().setAttribute("mes", message);
} else if (password.equals(oldpass)) {
String message = "新密码不能与原密码相同";
request.getSession().setAttribute("mes", message);
String message = "原密码错误";
request.getSession().setAttribute("mes", message);
return new ModelAndView("frontPlatForm/password");
//跳转到预订页面
@RequestMapping("/reservation")
public ModelAndView reservation(HttpServletRequest request){
String downPayment = request.getParameter("downPayment");
String rentDate = request.getParameter("rentDate");
String shReturnDate = request.getParameter("shReturnDate");
String carId = request.getParameter("carId");
if(downPayment!=null&&rentDate!=null&&shReturnDate!=null&&carId!=null){
int customerId = getCustomer(request).getId();
ReservationOrder reOrder = new ReservationOrder();
reOrder.setDownPayment(Float.valueOf(downPayment));
reOrder.setRentDate(rentDate);
reOrder.setShreturnDate(shReturnDate);
reOrder.setCarId(Integer.valueOf(carId));
reOrder.setCustomerId(customerId);
int insert = this.reservationOrderService.insertSelective(reOrder);
ModelAndView view = new ModelAndView("frontPlatForm/reservation");
//显示订单信息页面
@RequestMapping("/reservationInfo")
public ModelAndView reservationInfo(HttpServletRequest request,Model model){
List&ReservationOrder& reOrder = this.reservationOrderService.selectByCustomerId(getCustomer(request).getId());
ModelAndView view = new ModelAndView("frontPlatForm/reservationInfo");
model.addAttribute("reOrder", reOrder);
// 查找客户信息
public Customer getCustomer(HttpServletRequest request) {
HttpSession session = request.getSession();
String name = ((Customer) session.getAttribute("customer")).getUsername();
Customer customer = customerService.selectByName(name);
//职工信息管理页面
@RequestMapping("/workerManage")
public ModelAndView getWorker(HttpServletRequest request,Model model){
List&Worker& worker = workerService.selectAll();
model.addAttribute("worker", worker);
ModelAndView view = new ModelAndView("administrator/workerInfo");
//添加职工信息
@RequestMapping("/addWorker")
public void addWorker(HttpServletRequest request,Model model,HttpServletResponse response) throws IOException{
String name = request.getParameter("name");
String pwd = request.getParameter("pwd");
String idcard = request.getParameter("idcard");
String keyname = request.getParameter("keyname");
String keyid = request.getParameter("keyid");
if(name!=null&&idcard!=null&&keyname!=null&&keyid!=null){
Worker worker1 = new Worker();
worker1.setName(name);
worker1.setPwd(pwd);
worker1.setIdcard(idcard);
worker1.setKeyname(keyname);
worker1.setKeyid(Integer.valueOf(keyid));
int insert = workerService.insert(worker1);
if(insert&0){
List&Worker& worker = workerService.selectAll();
model.addAttribute("worker", worker);
response.sendRedirect("workerManage");
//删除职工信息
@RequestMapping("/deleteWorker")
public ModelAndView deleteWorker(HttpServletRequest request, Model model) {
String items = request.getParameter("delitems");
List&String& delList = new ArrayList&String&();
String[] strs = items.split(",");
for (String str : strs) {
delList.add(str);
this.workerService.batchDeletes(delList);
List&Worker& worker = this.workerService.selectAll();
model.addAttribute("worker", worker);
ModelAndView view = new ModelAndView("administrator/workerInfo");
//根据编号查找职工
@RequestMapping(value="/selectWorker", method = RequestMethod.POST)
@ResponseBody
public Worker selectWorker(HttpServletRequest request,Model model){
String id = request.getParameter("id");
Worker worker = new Worker();
if(id!=null){
worker = this.workerService.selectByPrimaryKey(Integer.valueOf(id));
HttpSession session = request.getSession();
session.setAttribute("worker1",worker);
model.addAttribute("worker1", worker);
//修改职工信息
@RequestMapping("/updateWorker")
public void updateWorker(HttpServletResponse response,HttpServletRequest request,Model model) throws IOException{
String id = request.getParameter("id");
String name = request.getParameter("name");
String pwd = request.getParameter("pwd");
String idcard = request.getParameter("idcard");
String keyname = request.getParameter("keyname");
String keyid = request.getParameter("keyid");
int update = 0;
if(id!=null&&name!=null&&idcard!=null&&keyname!=null&&keyid!=null){
Worker worker1 = new Worker();
worker1.setId(Integer.valueOf(id));
worker1.setName(name);
worker1.setPwd(pwd);
worker1.setIdcard(idcard);
worker1.setKeyname(keyname);
worker1.setKeyid(Integer.valueOf(keyid));
update = workerService.updateByPrimaryKey(worker1);
if(update&0){
List&Worker& worker = this.workerService.selectAll();
model.addAttribute("worker", worker);
response.sendRedirect("workerManage");
//管理员显示订单信息页面
@RequestMapping("/adminReInfo")
public ModelAndView adminReInfo(HttpServletRequest request,Model model){
List&ReservationOrder& reOrder = this.reservationOrderService.selectAll();
ModelAndView view = new ModelAndView("administrator/reservationInfo");
model.addAttribute("reOrder", reOrder);
//管理员显示车辆信息
@RequestMapping("/adminCarInfo")
public ModelAndView adminCarInfo(HttpServletRequest request,Model model){
List&Car& car = this.carService.getAllCar();
ModelAndView view = new ModelAndView("administrator/carInfo");
model.addAttribute("car", car);
综上所述,相信老师对于我们所用的这个SSM 框架有了大致的了解吧,我现在是拿登陆注册来进行说明,那么其他后续汽车的管理也是运用上面的六个Controller层进行相关的增删改查。我们现在给出我们这个项目大致代码目录的截图(d当然这些代码也会逐渐增加,现在功能还没有完善到最后)
四:代码上了一大堆,那么现在来看看我们实现登陆注册以及后台汽车管理的真实网页上截图。
1 现在customer 表有如下的数据
2 我们现在来看看我们的登陆页面 ,我们现在使用的账号进行登陆
3 登陆进去的页面如下,进入到顾客的账号就可以对自己的信息进行相应的添加修改,浏览查看车辆的信息以及进行预订车辆的相关操作,都可以进行。
4 比如我们对自己的信息进行修改和添加
6 可以看见数据库的数据已经更新了
7我们在看看修改密码的功能 将密码修改为123456
8 数据库密码已经更新了
9 查看汽车的信息
10 点击查看详情连接可以进入汽车的详情页
11 相关的汽车详情页 现在还没有完全做好,到时候这个页面将提供汽车的详细的信息和相关的图片展示 以及汽车的预定页都将在这个页面实现
12 &再说说另外一个在本系统权限的 最大的管理员的页面
13 管理并没有注册的功能,他只有注册的功能,管理员的数据是直接操作数据库后台直接插进去,系统只是提供一个登陆的功能给他而已。意思是并不是每个人都可以注册成为系统的管理员
管理员可以对汽车管理和相关的职工的信息进行修改添加的增删改查的操作
最后的吧,相关的页面展示到答辩再一一进行回答,相关的工作拖得有点晚,才导致这篇博客拖得这么晚,不过我想既然决定写好,就要将它写的比较好,起码对的起老师花费宝贵的时间来为我们进行审阅
五:团队相关的心得体会
& & 通过了这个汽车项目的锻炼,我们大家都一致的认为在软件的开发的过程中,团队协作以及精诚合作真的很重要,一个人的力量是非常有限的,但是团队团结起来的力量是强大的。团队合作是我们开发一个项目的不二之选。
其次,开发的过程我们遇到很多的困难,我们通过相互学习以及利用身边的书籍网上丰富的资源,解决掉项目不少的问题,通过我们同学之间的交流,思路的不同可以让我们收获颇多。善于学习别人的长处和利用身边的网上的资源,对于我们提高我们的学习能力以及我们自身的技术真的有很大的帮助。其次,开发项目要选择合适框架以及好的良好的码云等相关辅助相关的工具。对于我们开发的速度有很好的促进的作用,总而言之,我们团队需要通过这个汽车的租赁的项目,来自学吃透SSM框架的相关的内容,这应该就是我们做这个项目的最大的收获,最后的,加强我们团队整体的前端的页面的美化,虽然说自己做的页面自己都不想看,更何况是用户尼,所以学习的道路永远都是在路上,并没有所谓的终点。
& & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & &谢谢各位花费宝贵的时间欣赏完本文,谢谢!
阅读(...) 评论()}

我要回帖

更多关于 鼎丰汽车租赁管理系统 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信