java SSM汽车租赁管理系统myeclipse开发mysql数据库springMVC模式java编程计算机网页设计

news2024/11/16 7:33:23

一、源码特点
    java SSM汽车租赁管理系统是一套完善的web设计系统(系统采用SSM框架进行设计开发,spring+springMVC+mybatis),对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql5.0,使用java语言开发。

ssm 汽车租赁管理系统1

代码下载

https://download.csdn.net/download/qq_41221322/88919221
二、功能介绍
(1)游客的主要功能需求:
浏览车辆信息:游客可以浏览全部的车辆信息也可以进行分类查询自己喜欢的车辆类型。
会员注册:用户在系统上进行注册并登录以获得跟高的权限。
匿名留言:游客可以对该租赁公司进行匿名留言;
(2)会员的主要功能需求:
个人信息管理:管理自己的信息,对自己的信息可以进行修改,添加,删除等方面。
浏览车辆信息:会员可以浏览全部的车辆信息也可以进行分类查询自己喜欢的车辆类型。
查看订单信息:会员可以查看自己当前的订单信息也可以查看历史的订单信息。
租赁情况管理:会员可以对租车,还车,续租,取消订单等方面进行管理。
留言信息管理:会员可以对自己的留言信息进行管理。
闲置车出租:可以将自己的闲置车辆信息发给管理员审核是否同意放在该系统出租。
(3)管理员的主要功能需求:
管理会员信息:对会员的信息进行管理,修改,添加,删除一些有问题的会员用户。
发布车辆信息:将车辆信息情况发布到系统中去让会员和游客进行浏览。
租赁车辆管理:对发布的车辆信息进行及时的更新,修改,删除等方面的管理。
租赁订单审核:审核订单中的身份证,驾驶证是否到期,证件信息是否一致,个人征信记录是否可以通过,有没有其他不良记录等决定是否同意租车并将结果反馈给该会员。
租赁订单管理:对订单进行管理,修改删除一些有问题的订单,或者是有取消订单的将按照相对应的时间收取相对费用。
留言信息管理:管理会员的留言,评价,建议等信息,可以对一些恶意的留言信息进行删除,从留言信息中提取有用的建议。
发布新闻信息:发布一些有关于车辆,行驶安全等的新闻信息。
闲置车辆信息审核:审核闲置车辆的年限,来源,安全性等方面信息是否通过,评估该车辆在本系统出租收取的费用,最后将审核结果反馈给需要出租闲置车的车主。若通过了将联系该车主是否同意出租,同意的话将该车辆信息发送到该系统中让其他游客与会员浏览租赁。

数据库设计

(1)管理员信息表如表5.1所示:

表5.1 管理员信息表

序号

字段名称

数据类型

长度

主键

描述

1

glyid

INTEGER

11

管理员编号

2

yhm

VARCHAR

40

用户名

3

mm

VARCHAR

40

密码

4

xm

VARCHAR

40

姓名

(2)会员表如表5.2所示:

表5.2 会员信息表

序号

字段名称

数据类型

长度

主键

描述

1

hyid

INTEGER

11

会员编号

2

yhm

VARCHAR

40

用户名

3

mm

VARCHAR

40

密码

4

xm

VARCHAR

40

姓名

5

lxdh

VARCHAR

40

联系电话

6

lxdz

VARCHAR

40

联系地址

(3)车辆类型信息表如表5.3所示:

表5.3 车辆类型信息表

序号

字段名称

数据类型

长度

主键

描述

1

cllxid

INTEGER

11

车辆类型编号

2

lx

VARCHAR

40

类型

(4)车龄信息表如表5.4所示:

表5.4 车辆信息表

序号

字段名称

数据类型

长度

主键

描述

1

clid

INTEGER

11

车辆编号

2

cmc

VARCHAR

40

车名称

3

lx

VARCHAR

40

类型

4

js

VARCHAR

40

介绍

5

tp

VARCHAR

40

图片

6

jg

VARCHAR

40

价格

7

yh

VARCHAR

40

用户

8

zt

VARCHAR

40

状态

9

sm

VARCHAR

40

说明

(5)留言表如表5.5所示:

表5.5 留言

序号

字段名称

数据类型

长度

主键

描述

1

lyid

INTEGER

11

留言编号

2

ly

VARCHAR

40

留言

3

yh

VARCHAR

40

用户

4

sj

VARCHAR

40

时间

(6)新闻表如表5.6所示:

表5.6新闻表

序号

字段名称

数据类型

长度

主键

描述

1

xwid

INTEGER

11

新闻编号

2

bt

VARCHAR

40

标题

3

nr

VARCHAR

40

内容

代码设计


	@RequestMapping(value="/add")
	public String add(cheliang cheliang,HttpServletRequest request){
		Map<String,Object> map= new HashMap<String,Object>();
		//String name=(String)request.getParameter("name");

		map.put("clid", cheliang.getClid());//车辆编号

		map.put("cmc", cheliang.getCmc());//车名称

		map.put("lx", cheliang.getLx());//类型

		map.put("js", cheliang.getJs());//介绍

		map.put("tp", cheliang.getTp());//图片

		map.put("jg", cheliang.getJg());//价格

		map.put("yh", cheliang.getYh());//用户

		map.put("zt", cheliang.getZt());//状态

		map.put("sm", cheliang.getSm());//说明



		String clid=(String)cheliang.getClid();//车辆编号

		String cmc=(String)cheliang.getCmc();//车名称

		String lx=(String)cheliang.getLx();//类型

		String js=(String)cheliang.getJs();//介绍

		String tp=(String)cheliang.getTp();//图片

		String jg=(String)cheliang.getJg();//价格

		String yh=(String)cheliang.getYh();//用户

		String zt=(String)cheliang.getZt();//状态

		String sm=(String)cheliang.getSm();//说明
		String sql="";
		ResultSet rs=null;
		DBO db=new DBO();
		int num=0;
		try{
			sql="select count(1) as num from cheliang where cmc='"+cmc+"'";
			rs=db.query(sql);
			if(rs.next()){
				num=rs.getInt("num");
			}
			if(num>0){
				request.setAttribute("msg", "<script>alert('添加失败、车名称重复');</script>");
			}else{
				cheliangdao.save(map);
				
				
				request.setAttribute("msg", "<script>alert('添加成功');</script>");
			}
		}catch(Exception e){
			e.printStackTrace();
		}

	
		System.out.println("addok");
		return "cheliang/cheliangadd";
	}
	
	/**删除 
	 * 
	 */
	@RequestMapping(value="/del")
	public String  del(Integer id,HttpServletRequest request,Map<String,Object> map){
	//	Map<String,Object> map= new HashMap<String,Object>();
		String a=(String)request.getParameter("keyid");
		id=Integer.parseInt(a);
		request.setAttribute("msg", "<script>alert('删除成功');</script>");
		cheliangdao.del(id);
		return selectall(null,map,request);
	}
	/**
	 * 修改cheliang信息
	 */
	@RequestMapping(value="/update")
	public String update(cheliang cheliang,HttpServletRequest request,Map<String,Object> map1){
		Map<String,Object> map= new HashMap<String,Object>();
		map.put("clid", cheliang.getClid());//车辆编号

		map.put("cmc", cheliang.getCmc());//车名称

		map.put("lx", cheliang.getLx());//类型

		map.put("js", cheliang.getJs());//介绍

		map.put("tp", cheliang.getTp());//图片

		map.put("jg", cheliang.getJg());//价格

		map.put("yh", cheliang.getYh());//用户

		map.put("zt", cheliang.getZt());//状态

		map.put("sm", cheliang.getSm());//说明



		String clid=(String)cheliang.getClid();//车辆编号

		String cmc=(String)cheliang.getCmc();//车名称

		String lx=(String)cheliang.getLx();//类型

		String js=(String)cheliang.getJs();//介绍

		String tp=(String)cheliang.getTp();//图片

		String jg=(String)cheliang.getJg();//价格

		String yh=(String)cheliang.getYh();//用户

		String zt=(String)cheliang.getZt();//状态

		String sm=(String)cheliang.getSm();//说明

		request.setAttribute("msg", "<script>alert('操作成功');</script>");
		cheliangdao.update(map);
		return selectall(null,map1,request);
	}

持久层设计

public void save(Map<String, Object> map) {
		sqlSession.insert("com.cheliang.insertcheliang", map);
		
	}
	/**
	 * 删除aa
	 * @param id
	 */
	public void del(Integer id) {
		sqlSession.delete("com.cheliang.delcheliang", id);
	}

	/**
	 * 修改cheliang信息
	 * @param map
	 */
	public void update(Map<String, Object> map) {
		sqlSession.update("com.cheliang.updatecheliang", map);
	}

	/**
	 * 查询cheliang信息
	 * @param id
	 * @return 
	 */
	public List<Map<String, Object>> select(Integer id) {
		return sqlSession.selectList("com.cheliang.selectcheliang", id) ; 
	}
	/**
	 * 查询cheliang信息
	 * 
	 * @return 
	 */
	public List<Map<String, Object>> selectAll(Map<String, Object> map) {
		return sqlSession.selectList("com.cheliang.selectall", map) ; 
	}

mybatis配置

<!-- 添加用户信息 -->
<insert id="insertcheliang"  parameterType="java.util.Map">
 insert  into  cheliang(cmc,lx,js,tp,jg,yh,zt,sm,clzt)  values(#{cmc},#{lx},#{js},#{tp},#{jg},#{yh},#{zt},#{sm},'空闲')
</insert>

<delete id="delcheliang" parameterType="int">
 delete  from  cheliang where clid=#{clid}
</delete>

<update id="updatecheliang" parameterType="java.util.Map">
update cheliang set cmc=#{cmc},lx=#{lx},js=#{js},tp=#{tp},jg=#{jg},yh=#{yh},zt=#{zt},sm=#{sm} where clid=#{clid}
</update>

<!--  查询返回的是 list<map> -->
<!-- resultType 就是返回查询结果的类型,而如果是resultMap=则返回的就是你定义的javabean  -->
<select  id="selectcheliang"  parameterType="int" resultType="java.util.Map">
  select  * from cheliang where clid=#{clid}
</select>

<!-- resultType 就是返回查询结果的类型,而如果是resultMap=则返回的就是你定义的javabean  -->
<select  id="selectall"  parameterType="java.util.Map" resultType="java.util.Map">
  select  * from cheliang where 1=1
        <if test=" null != cmc and cmc!=''" >
        and cmc like concat(concat('%',#{cmc}),'%')
        </if>
        <if test=" null != lx and lx!=''" >
        and lx like concat(concat('%',#{lx}),'%')
        </if>
        <if test=" null != js and js!=''" >
        and js like concat(concat('%',#{js}),'%')
        </if>
        <if test=" null != tp and tp!=''" >
        and tp like concat(concat('%',#{tp}),'%')
        </if>
        <if test=" null != jg and jg!=''" >
        and jg like concat(concat('%',#{jg}),'%')
        </if>
        <if test=" null != yh and yh!=''" >
        and yh like concat(concat('%',#{yh}),'%')
        </if>
        <if test=" null != zt and zt!=''" >
        and zt like concat(concat('%',#{zt}),'%')
        </if>
        <if test=" null != sm and sm!=''" >
        and sm like concat(concat('%',#{sm}),'%')
        </if>
</select>


三、注意事项
    1、管理员账号:admin 密码:admin 数据库配置文件datasource.properties
     2、开发环境为TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql5.0,使用java语言开发。
    3、数据库文件名是jspssmqczl.sql,系统名称ssmqczl
    4、系统首页地址:http://127.0.0.1:8080/ssmqczl/qt/index.jsp

四 系统实现

源码获取 下方联系卡片↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1502344.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

安卓真机无root环境下的单机游戏修改-IL2CPP

前言 之前在研究手游的il2cpp修改&#xff0c;选取了 Mine Survival 作为研究对象&#xff0c;由于手上没有root的机子&#xff0c;于是安装在了MuMu模拟器上 但是很快发现了问题&#xff0c;游戏只有arm的lib&#xff0c;由于一系列原因&#xff0c;导致我无法获取到 libil2…

如何压缩PDF文件大小?看完这篇文章,即可实现无损压缩!

平时工作或生活中&#xff0c;很多小伙伴是不是经常喜欢用PDF格式进行文件的保存&#xff0c;毕竟它具有较高的兼容性&#xff0c;且在不同设备中打开也不会出现排版错乱的情况。不过有时候PDF文件会因为内容过大&#xff0c;占用的内存过多&#xff0c;从而导致电脑卡顿的情况…

大路灯哪个牌子好?五大品质大路灯盘点,体验超赞!

在这个生活水平不断提高的时代&#xff0c;大路灯作为一款能够帮助孩子解决不少用眼是的光线问题的电器&#xff0c;有着比较高的优势&#xff0c;但关于它的伤眼案例却频频发生。之所以如此矛盾&#xff0c;主要是市场上的不专业大路灯泛滥成灾&#xff0c;就比如一些所谓的网…

Word中的文档网格线与行距问题

在使用Word编辑文档时&#xff0c;经常会发生以下动图展示的这种情况&#xff1a; 上面的动图里&#xff0c;将文字大小放大到某个字号时&#xff0c;单倍行距的间距突然增加很多。造成这种情况的原因是文档中定义了网格线&#xff0c;并且设置了对齐到网格线。如果取消文档中…

Centos安装Jenkins

1、更新系统 &#xff08;1&#xff09;更新下系统 sudo yum -y update 安装用于下载java 17二进制文件的wget命令行工具 sudo yum -y install wget vim 2、卸载centos自带的jdk 由于我们安装的版本比较高&#xff0c;需要jdk17&#xff0c;卸载centos自带的jdk。用 下面的…

分布式定时任务调度xxl-job

1. xxl-job基本介绍 1.1 Quartz的体系结构 Quartz中最重要的三个对象:Job&#xff08;作业&#xff09;、Trigger&#xff08;触发器&#xff09;、Scheduler&#xff08;调度器&#xff09;。 xxl-job的调度原理:调度线程在一个while循环中不断地获取一定数量的即将触发的Tr…

用 ChatGPT 搭配 STAR 原则,准备英文面试超轻松

用 ChatGPT 搭配 STAR 原则&#xff0c;准备英文面试超轻松 ChatGPT 除了可以帮忙改简历&#xff0c;在你的求职历程中&#xff0c;ChatGPT 也可以帮忙练英文面试。在我们实测之后&#xff0c;发现 ChatGPT 在练习英文面试上&#xff0c;不仅能针对你的回答给予回馈&#xff0…

汽车大灯汽车尾灯破裂裂纹破损破洞掉角崩角等问题能修复吗?修复后需要注意什么?

汽车灯罩破损修复后&#xff0c;车主需要注意以下几点&#xff1a; 检查修复效果&#xff1a;修复完成后&#xff0c;车主应该仔细检查灯罩的修复效果&#xff0c;确保破损部分已经被填补并恢复原有的透明度和光泽。如果修复效果不理想&#xff0c;需要及时联系维修店进行处理…

快乐数---链表的入口点

文章目录 一、鸽巢原理二、环的入口点分析题目思路代码 三、快乐数分析题目思路代码 在刷题中&#xff0c;遇到这样两道类似知识点的题目&#xff0c;下面是两道题的链接&#xff0c;感兴趣的朋友可以去尝试一下。力扣链接: 快乐数力扣链接: 环形链表。 一、鸽巢原理 这两道题…

Elastic Stack--04--ES中的检索方式、Query DSL

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 1.ES中的检索方式第一种方式GET bank/_search # 检索bank下的所有信息&#xff0c;包括 type 和 docsGET bank/_search?q*&sortaccount_number:asc 第二种方式…

生产管理MES系统在卫浴企业中的应用

在卫浴企业的制造过程中&#xff0c;实现透明车间管理是一个旨在提升效率、质量和可视性的重要目标。MES系统可以在卫浴企业中帮助打造透明车间&#xff0c;提升生产管理的效率和可视性。具体能实现哪些管理呢&#xff1f; 实时监控生产状态&#xff1a; MES系统可以实时监控车…

指针运算题

题目一&#xff1a; #include <stdio.h> int main() {int a[5] { 1, 2, 3, 4, 5 };int *ptr (int *)(&a 1);printf( "%d,%d", *(a 1), *(ptr - 1));return 0; } //程序的结果是什么&#xff1f; 答案&#xff1a; 2&#xff0c;5 详解&#xff1a; …

Kubesphere前端项目分析

1 KubeSphere console功能导图 模块&#xff1a; 命令行工具 (kubectl) 日志&#xff08;Logging&#xff09; 平台设置&#xff08;Platform Settings&#xff09; 服务组件&#xff08;Service Components&#xff09; 监控和警报&#xff08;Monitoring & Alerting&…

javascript:void(0);用法及常见问题解析

在Web开发中&#xff0c;javascript:void(0);是一个经常被用到的代码片段&#xff0c;特别是在一些老式的网页中。这个代码片段的作用是执行一个空操作&#xff08;null operation&#xff09;&#xff0c;即不执行任何操作。它的主要用途是在JavaScript代码中创建一个空链接&a…

JavaScript数组常见实例方法:forEach、filter、map、reduce、find、every等

博客背后的故事 其实我23年7月就学过这些数组方法了&#xff0c;但是为什么24年3月才做笔记呢&#xff1f;这就要讲一个小故事了&#xff08;不想听故事的同学自行拖动滚动条&#xff09; 24年年初我和两个队友合作开发一个小程序。JavaScript中数组的实例方法我已经学了很久…

阿波罗登月需要解决飞行控制问题,数学家卡尔曼在维纳控制的基础上提出了卡尔曼滤波

说到登月&#xff0c;很多人只想到和火箭以及航天器相关的技术&#xff0c;其实登月离不开信息技术的革命。因为从飞行控制到远程通信&#xff0c;都需要解决很多过去从未遇到过的难题。 登月首先要保证在月球上着陆的地点准确&#xff0c;而且要保证返回火箭和飞船能够在月球轨…

sizeof和strlen的详细万字解读

sizeof和strlen的对比 sizeof不是函数 侧面证明sizeof不是函数 如果是函数 应该需要有括号 不能落下来 strlen 只针对字符串 包含头文件 string.h 并且这个是个函数 随机数值 sizeof里面有表达式的话 表达式里面是不参与计算的 下面的s求出的是4 就是因为是不参与计算的 不…

opencv dnn模块 示例(24) 目标检测 object_detection 之 yolov8-pose 和 yolov8-obb

前面博文【opencv dnn模块 示例(23) 目标检测 object_detection 之 yolov8】 已经已经详细介绍了yolov8网络和测试。本文继续说明使用yolov8 进行 人体姿态估计 pose 和 旋转目标检测 OBB 。 文章目录 1、Yolov8-pose 简单使用2、Yolov8-OBB2.1、python 命令行测试2.2、opencv…

图机器学习(3)-面向节点的人工特征工程

0 问题引入 地铁导航图 计算机是看不懂这些图&#xff0c;计算机只能看懂向量、矩阵。 传统图机器学习只讨论连接特征。 构造一个新的特征 x 1 x 2 x_1x_2 x1​x2​&#xff0c;有利于分开这种数据。 人需要去翻译这些计算机不懂的特征&#xff0c;变成计算机可以懂…

数据结构之栈详解(C语言手撕)

&#x1f389;个人名片&#xff1a; &#x1f43c;作者简介&#xff1a;一名乐于分享在学习道路上收获的大二在校生 &#x1f648;个人主页&#x1f389;&#xff1a;GOTXX &#x1f43c;个人WeChat&#xff1a;ILXOXVJE &#x1f43c;本文由GOTXX原创&#xff0c;首发CSDN&…