java ssh 二手车交易管理系统eclipse开发mysql数据库MVC模式java编程网页设计

news2024/11/15 17:46:39

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

视频链接 https://www.bilibili.com/video/BV1xN4y1S755/

二、功能介绍
(1)管理员管理:对管理员信息进行添加、删除、修改和查看
(2)销售人员管理:对销售人员信息进行添加、删除、修改和查看
(3)审核人员管理:对审核人员信息进行添加、删除、修改和查看
(4)车型管理:对车型信息进行添加、删除、修改和查看
(5)二手车管理:对二手车信息进行添加、删除、修改和查看
(6)订单管理:对订单信息进行添加、删除、修改和查看
(7)公告管理:对公告信息进行添加、删除、修改和查看
(8)反馈记录管理:对反馈记录信息进行添加、删除、修改和查看

数据库设计

[表xsry] 销售人员列属性表格

序号字段名称数据类型长度主键描述
1xsryidINTEGER11销售人员编号
2yhmVARCHAR40用户名
3mmVARCHAR40密码
4xmVARCHAR40姓名
5lxdhVARCHAR40联系电话
6lxdzVARCHAR40联系地址

[表shry] 审核人员列属性表格

序号字段名称数据类型长度主键描述
1shryidINTEGER11审核人员编号
2yhmVARCHAR40用户名
3mmVARCHAR40密码
4xmVARCHAR40姓名
5lxdhVARCHAR40联系电话
6lxdzVARCHAR40联系地址

[表chexing] 车型列属性表格

序号字段名称数据类型长度主键描述
1cxidINTEGER11车型编号
2cxVARCHAR40车型
3bhVARCHAR40编号
4sssjVARCHAR40上市时间
5plVARCHAR40排量
6sjVARCHAR40售价
7kcVARCHAR40库存

[表esc] 二手车列属性表格

序号字段名称数据类型长度主键描述
1escidINTEGER11二手车编号
2clVARCHAR40车辆
3tpVARCHAR40图片
4cxVARCHAR40车型
5lbVARCHAR40类别
6ysVARCHAR40颜色
7jgVARCHAR40价格
8clztVARCHAR40车辆状态

[表dingdan] 订单列属性表格

序号字段名称数据类型长度主键描述
1ddidINTEGER11订单编号
2ddlsVARCHAR40订单流水
3clVARCHAR40车辆
4khVARCHAR40客户
5lxdhVARCHAR40联系电话
6xssjVARCHAR40销售时间
7ztVARCHAR40状态
8zjgVARCHAR40总价格
9smVARCHAR40说明

[表gonggao] 公告列属性表格

序号字段名称数据类型长度主键描述
1ggidINTEGER11公告编号
2btVARCHAR40标题
3nrVARCHAR40内容
4fbsjVARCHAR40发布时间

代码设计

	public String add()
	{//对表esc进行添加操作
		String sql="";
		int num=0;
		DBO db=new DBO();
		ResultSet rs=null;
		try{
			sql="select count(1) as num from esc where cl='"+esc.getCl()+"' or cjh='"+esc.getCjh()+"'";
			rs=db.query(sql);
			if(rs.next()){
				num=rs.getInt("num");
			}
			
			if(num>0){
				ServletActionContext.getRequest().setAttribute("msg", "<script>alert('添加失败、车辆或车架信息重复');</script>");
			}else{
				dao.addesc(esc);
				ServletActionContext.getRequest().setAttribute("msg", "<script>alert('添加成功');</script>");
				
				sql="update chexing set kc=kc+1 where bh='"+esc.getCx()+"'";
				db.update(sql);
				
			}
			
	
		}catch(Exception e){
			System.out.println(e.toString());
			
		}finally{
			db.close();
		}
		
			
		
	
		return "escadd";
	}
	public String list()
	{//对二手车进行管理 对表esc进行页面查询
		int size=10;//分页个数
	try{
	String hql=" from esc where 1=1";

	if(ServletActionContext.getRequest().getParameter("cl")!=null){
		
		hql+=" and cl='"+ServletActionContext.getRequest().getParameter("cl")+"'";
	}
		int count=dao.getescs(hql).size();
		pageCount=count%size==0?count/size:(count/size+1);

		if(pageNum<1)
		{
			pageNum=1;
		}else if(pageNum>pageCount)
		{
			pageNum=pageCount;
		}
	
	escs=dao.getescs(hql, pageNum, size);
	}catch(Exception e){
			System.out.println(e.toString());
			
		}
		return "esclist";
	}
	public String listp()
	{//对二手车进行管理 对表esc进行查询
	try{
	escs=dao.getescs(" from esc where 1=1");
	}catch(Exception e){
			System.out.println(e.toString());
			
		}
		return "esclistp";
	}
	public String del()
	{//对二手车进行删除 对表esc进行删除
		String keyid=ServletActionContext.getRequest().getParameter("keyid").toString();
		esc tempbean=dao.getesc("from esc where escid="+keyid);
		try{
		dao.delesc(tempbean);
		}catch(Exception e){
			System.out.println(e.toString());
			
		}
		ServletActionContext.getRequest().setAttribute("msg", "<script>alert('删除成功');</script>");
		return list();
	}

持久层设计

public void delesc(esc u)
	{
		delObj(u);
	}
	/*
		对表esc进行查询单条记录返回一个实体bean对象
	*/
	public esc getesc(String hql)
	{
		return (esc)getObjByHql(hql);
	}
	
	@SuppressWarnings("unchecked")
	/*
	对表esc查询结果集体操作
	*/
	public List<esc> getescs(DetachedCriteria dc,int pageNum,int size)
	{
		return (List<esc>)getObjs(dc, (pageNum-1)*size, size);
	}
	/*
	对表esc查询结果集体操作
	*/
	public List<esc> getescs(String hql)
	{
		return (List<esc>)getObjsByHql(hql);
	}
	
	@SuppressWarnings("unchecked")
	/*
	对表esc查询结果集体操作
	*/
	public List<esc> getescs(String hql,int pageNum,int size)
	{
		return (List<esc>)getObjsByHql(hql,(pageNum-1)*size,size);
	}
	/*
	对表esc查询结果数量总计
	*/
	public int getescCount(DetachedCriteria dc)
	{
		return getCount(dc);
	}
	public void modifyesc(esc u)
	{
		modify(u);


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

四 系统实现


 

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

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

相关文章

柯桥考级日语学校,日语听力如何拿满分

今天&#xff0c;来分析一下能力考听力中的五道听力题的题型和解题技巧。 首先在N1和N2中&#xff0c;听力题型是一样的。 第一大题「課題理解」 第二大题「ポイント理解」 第三大题「概要理解」 第四大题叫做「即時応答」 第五大题叫做「統合理解」 名字不同&#xff0c;考点和…

秋招如何准备?有什么建议?

秋招&#xff0c;是毕业生最好的求职渠道&#xff0c;没有之一。尽管还有春招&#xff0c;社招......都不如秋招重要&#xff0c;因为秋招的机会更多..... 如何准备秋招&#xff1f; 1、简历很重要 一个好的简历&#xff0c;就是敲门砖&#xff0c;这是你跟企业HR的第一次亲…

python -opencv形态学操作

python -opencv形态学操作 1.服饰和膨胀 1.服饰和膨胀 opencv 腐蚀通过cv2.erode实现&#xff0c;膨胀通过cv2.dilate实现&#xff0c;看一下下面代码&#xff1a; from ctypes.wintypes import SIZE from multiprocessing.pool import IMapUnorderedIterator import cv2 i…

20231122给RK3399的挖掘机开发板适配Android12

20231122给RK3399的挖掘机开发板适配Android12 2023/11/22 9:30 主要步骤&#xff1a; rootrootrootroot-X99-Turbo:~$ tar --use-compress-programpigz -xvpf rk356x_android12_220722.tgz rootrootrootroot-X99-Turbo:~$ cd rk_android12_220722/ rootrootrootroot-X99-Tur…

NOIP2015提高组第二轮T1:能量项链

题目链接 [NOIP2006 提高组] 能量项链 题目描述 在 Mars 星球上&#xff0c;每个 Mars 人都随身佩带着一串能量项链。在项链上有 N N N 颗能量珠。能量珠是一颗有头标记与尾标记的珠子&#xff0c;这些标记对应着某个正整数。并且&#xff0c;对于相邻的两颗珠子&#xff0…

【CodeTop】TOP 100 刷题 11-20

文章目录 11. 二叉树的层序遍历题目描述代码与解题思路 12. 搜索旋转排序数组题目描述代码与解题思路 13. 买卖股票的最佳时机题目描述代码和解题思路 14. 岛屿数量题目描述代码与解题思路 15. 环形链表题目描述代码与解题思路 16. 有效的括号题目描述代码与解题思路 17. 合并两…

呼叫中心自建好还是云外呼好用?

传统的呼叫中心在科技的发展下已经被不适用了&#xff0c;都开始使用起智能化的呼叫中心&#xff0c;一个是自建式呼叫中心&#xff0c;一个是云外呼系统。那自建式呼叫中心与云外呼系统的区别有哪些呢&#xff1f; 1、企业自建呼叫中心 劣势 系统维护更新难&#xff1a;自建…

我的创作纪念日2048天

机缘 在这特殊的日子里&#xff0c;我要庆祝我的 CSDN 创作纪念日——已经坚持了整整2048天&#xff01; 在这2048天里&#xff0c;我经历了很多成长和收获。作为一名技术写手&#xff0c;我投入了大量的时间和精力来分享我的知识和经验。我曾经写过关于数据库、数据同步、数…

AI一点通:卷积神经网络的输出节点大小如何计算?全连接层必要输入大小如何设置

在使用卷积网络&#xff08;CNN&#xff09;时&#xff0c;一个步骤是计算经过卷积和池化步骤后的输出大小&#xff0c;以便我们可以将输出连接到一个完全收集的线性层。 以Pytorch中的一维CNN为例&#xff0c; self.conv1 nn.Conv1d(in_channels1, out_channels64, kernel_s…

python数据结构与算法-10_递归

递归 Recursion is a process for solving problems by subdividing a larger problem into smaller cases of the problem itself and then solving the smaller, more trivial parts. 递归是计算机科学里出现非常多的一个概念&#xff0c;有时候用递归解决问题看起来非常简单…

面对网络渠道低价 品牌如何应对

品牌在发展过程中&#xff0c;会不断拓展自己的销售渠道&#xff0c;网站渠道是顺应消费者习惯的一种销售战场&#xff0c;没有品牌会轻易丢弃这个渠道&#xff0c;但是网络渠道的低价又是很常见的&#xff0c;所以只有及时的治理渠道低价&#xff0c;对应的渠道才会发展越来越…

【shell】shell指令学习

仅供本人自学&#xff0c;完全从自己可以理解的角度写的&#xff0c;知识点都是copy网上已有的学习资料&#xff0c;侵权请联系本人删除&#xff0c;谢谢。 1. 文本资料学习 学习Linux&#xff0c;从掌握grep、sed、awk开始吧。 Linux文本三剑客超详细教程—grep、sed、awk …

【AGC】鸿蒙应用软件包上传问题解析

【问题背景】 近期收到了一些反馈&#xff0c;一些鸿蒙元服务开发者在发布应用市场的过程中&#xff0c;上传.app包时遇到了不同的报错&#xff0c;导致上传失败&#xff0c;下面来看一下这些报错的具体原因&#xff0c;如何正确打包上传。 【问题描述1】 HarmonyOS元服务软件…

排序算法--选择排序

实现逻辑 ① 第一轮从下标为 1 到下标为 n-1 的元素中选取最小值&#xff0c;若小于第一个数&#xff0c;则交换 ② 第二轮从下标为 2 到下标为 n-1 的元素中选取最小值&#xff0c;若小于第二个数&#xff0c;则交换 ③ 依次类推下去…… void print_array(int a[], int n){f…

逐字节讲解 Redis 持久化(RDB 和 AOF)的文件格式

前言 相信各位对 Redis 的这两种持久化机制都不陌生&#xff0c;简单来说&#xff0c;RDB 就是对数据的全量备份&#xff0c;AOF 则是增量备份&#xff0c;而从 4.0 版本开始引入了混合方式&#xff0c;以 7.2.3 版本为例&#xff0c;会生成三类文件&#xff1a;RDB、AOF 和记…

这7款神仙软件,程序员必备!

如果你是程序员、开发者、网络运维等 IT 从业者日常工作中大家肯定会用到很多网站&#xff0c;今天给大家带来7款压箱底的神仙软件&#xff0c;希望可以帮助有需要的码农朋友实现更高效地办公。 一、Everything 适用&#xff1a;本地文件搜索神器 就是为了极速检索而生,其实…

随机微分方程数值模拟

http://www.lpma-paris.fr/pageperso//lemaire/projets/Papers/NiVi08.pdf See 知乎https://zhuanlan.zhihu.com/p/28628912

CRM商机管理软件:构建客户为中心的管理理念

企业为什么选择CRM商机管理软件&#xff1f;1.CRM软件能够帮助企业建立以客户为中心的管理理念&#xff1b;2.CRM商机管理软件全面直观的展示客户数据&#xff1b;3.市场人员可以制订个性化的营销策略&#xff1b;4.移动应用为外出的销售带来的便利。 1.构建客户为中心的管理理…

2304. 网格中的最小路径代价 : 从「图论最短路」过渡到「O(1) 空间的原地模拟」

题目描述 这是 LeetCode 上的 「2304. 网格中的最小路径代价」 &#xff0c;难度为 「中等」。 Tag : 「最短路」、「图」、「模拟」、「序列 DP」、「动态规划」 给你一个下标从 0 开始的整数矩阵 grid&#xff0c;矩阵大小为 m x n&#xff0c;由从 0 到 的不同整数组成。 你…

Java线程的学习

本来我以为这可能只是Java里的一小块知识点&#xff0c;但当我搜索自己关注的Up主的网课时&#xff0c;觉得还是开一个系列来记录好了。我的记录绝不仅仅是照搬课程中的内容&#xff0c;我会带上自己的理解以及示例代码、并且是按照本人的专业课老师上课的节奏来记录&#xff0…