java SSM网上小卖部管理系统myeclipse开发mysql数据库springMVC模式java编程计算机网页设计

news2024/11/25 10:46:23

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

ssm小卖部管理系统


二、功能介绍
其他主要功能包括:
一、管理员后台管理功能。
1、小卖部审核管理:审核由老板创建的小卖部信息
2、业务统计:统计每个小卖部的订单数,可以通过图表展示

二、.老板后台管理功能
1、老板注册登陆,修改密码
2、小卖部管理:老板可以创建一个小卖部,编辑小卖部信息
3、商品分类管理:创建属于自己的商品分类
4、商品管理:发布自己的商品
5、上架下架管理:管理自己商品的商家和下架
6、订单管理:管理顾客下达的订单

三、.顾客后台管理功能。
1、顾客注册登陆,修改密码
2、查找小卖部或商品:搜索小卖部或者需要的商品
3、购物车管理:将选中的商品加入购物车
4、订单管理:将购物车进行结单
5、地址管理:管理自己的送达地址信息

数据库设计

[表gly] 管理员列属性表格

序号字段名称数据类型长度主键描述
1glyidINTEGER11管理员编号
2yhmVARCHAR40用户名
3mmVARCHAR40密码
4xmVARCHAR40姓名

[表yonghu] 用户列属性表格

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

[表shangjia] 商家列属性表格

序号字段名称数据类型长度主键描述
1sjidINTEGER11商家编号
2yhmVARCHAR40用户名
3mmVARCHAR40密码
4xmVARCHAR40姓名
5ztVARCHAR40状态
6dzVARCHAR40地址
7lxdhVARCHAR40联系电话
8zcsjVARCHAR40注册时间

[表xmb] 小卖部列属性表格

序号字段名称数据类型长度主键描述
1xmbidINTEGER11小卖部编号
2xmbmcVARCHAR40小卖部名称
3dzVARCHAR40地址
4dhVARCHAR40电话
5jyfwVARCHAR40经营范围
6kbsjVARCHAR40开办时间
7sjVARCHAR40商家

[表spfl] 商品分类列属性表格

序号字段名称数据类型长度主键描述
1spflidINTEGER11商品分类编号
2flVARCHAR40分类
3sjVARCHAR40商家

[表shangpin] 商品列属性表格

序号字段名称数据类型长度主键描述
1spidINTEGER11商品编号
2spVARCHAR40商品
3flVARCHAR40分类
4jsVARCHAR40介绍
5tpVARCHAR40图片
6jgVARCHAR40价格
7ztVARCHAR40状态
8sjVARCHAR40商家

代码设计

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

		map.put("spid", shangpin.getSpid());//商品编号

		map.put("sp", shangpin.getSp());//商品

		map.put("fl", shangpin.getFl());//分类

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

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

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

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

		map.put("sj", shangpin.getSj());//商家

		String spid=(String)shangpin.getSpid();//商品编号

		String sp=(String)shangpin.getSp();//商品

		String fl=(String)shangpin.getFl();//分类

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

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

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

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

		String sj=(String)shangpin.getSj();//商家

		shangpindao.save(map);
		
		
		request.setAttribute("msg", "<script>alert('添加成功');</script>");
		System.out.println("addok");
		return "shangpin/shangpinadd";
	}
	
	/**删除 
	 * 
	 */
	@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>");
		shangpindao.del(id);
		return selectall(null,map,request);
	}
	/**
	 * 修改shangpin信息
	 */
	@RequestMapping(value="/update")
	public String update(shangpin shangpin,HttpServletRequest request,Map<String,Object> map1){
		Map<String,Object> map= new HashMap<String,Object>();
		map.put("spid", shangpin.getSpid());//商品编号

		map.put("sp", shangpin.getSp());//商品

		map.put("fl", shangpin.getFl());//分类

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

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

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

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

		map.put("sj", shangpin.getSj());//商家

		String spid=(String)shangpin.getSpid();//商品编号

		String sp=(String)shangpin.getSp();//商品

		String fl=(String)shangpin.getFl();//分类

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

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

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

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

		String sj=(String)shangpin.getSj();//商家

		request.setAttribute("msg", "<script>alert('修改成功');</script>");
		shangpindao.update(map);
		return selectall(null,map1,request);
	}
	/**
	 * 查询shangpin信息
	 */
	@RequestMapping(value="/modify")
	public String modify(Integer id,Map<String,Object> map,HttpServletRequest request){
		String keyid=(String)request.getParameter("keyid");
		List<Map<String,Object>> list= new  ArrayList<Map<String,Object>>();
		list=shangpindao.select(Integer.parseInt(keyid));
		request.setAttribute("spid", list.get(0).get("spid"));//商品编号

		request.setAttribute("sp", list.get(0).get("sp"));//商品

		request.setAttribute("fl", list.get(0).get("fl"));//分类

		request.setAttribute("js", list.get(0).get("js"));//介绍

		request.setAttribute("tp", list.get(0).get("tp"));//图片

		request.setAttribute("jg", list.get(0).get("jg"));//价格

		request.setAttribute("zt", list.get(0).get("zt"));//状态

		request.setAttribute("sj", list.get(0).get("sj"));//商家

		
		return "shangpin/shangpinmodify";
	}


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

四 系统实现


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

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

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

相关文章

生物信息基础:pysam读写基因组文件

Pysam[1]是一个 Python 模块&#xff0c;它打包了高通量测序库htslib[2]的 C-API&#xff0c;可用于读写基因组相关文件&#xff0c;如 Fasta/Fastq&#xff0c;SAM/BAM/CRAM&#xff0c;VCF 等。本文以 Fasta/Fastq 文件的读写为例&#xff0c;介绍 Pysam 的用法&#xff0c;详…

更新Ubuntu并同步网络时间

ubuntu环境搭建专栏&#x1f517;点击跳转 Ubuntu系统环境搭建&#xff08;九&#xff09;——更新Ubuntu并同步网络时间 文章目录 Ubuntu系统环境搭建&#xff08;九&#xff09;——更新Ubuntu并同步网络时间1.更新Ubuntu1.1 查看ubuntu版本和详细信息1.2 创建root用户1.3 更…

Maven error in opening zip file?maven源码debug定位问题jar包

文章目录 问题发现调试Maven1. 查看maven版本2. 下载对应版本的maven源码3. 打开maven源码&#xff0c;配置启动选项 启动maven debug模式进入maven 源码&#xff0c;打断点调试找jar包算账 已录制视频 视频连接 问题发现 最近使用maven分析jar包的时候遇到了一个很搞的问题。…

智慧文旅运营综合平台:重塑文化旅游产业的新引擎

目录 一、建设意义 二、包含内容 三、功能架构 四、典型案例 五、智慧文旅全套解决方案 - 210份下载 在数字化浪潮席卷全球的今天&#xff0c;智慧文旅运营综合平台作为文化旅游产业与信息技术深度融合的产物&#xff0c;正逐渐显现出其强大的生命力和广阔的发展前景。 该…

mfc110.dll丢失是什么意思?全面解析mfc110.dll丢失的解决方法

在使用计算机的过程中&#xff0c;用户可能会遭遇一个常见的困扰&#xff0c;即系统提示无法找到mfc110.dll文件。这个动态链接库文件&#xff08;DLL&#xff09;是Microsoft Foundation Classes&#xff08;MFC&#xff09;库的重要组成部分&#xff0c;对于许多基于Windows的…

Java多线程并发篇----第二十六篇

系列文章目录 文章目录 系列文章目录前言一、什么是 Executors 框架?二、什么是阻塞队列?阻塞队列的实现原理是什么?如何使用阻塞队列来实现生产者-消费者模型?三、什么是 Callable 和 Future?前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分…

海外媒体发稿:满足要求的二十个爆款文案的中文标题-华媒舍

爆款文案是指在营销和推广方面非常受欢迎和成功的文案。它们能够吸引读者的眼球&#xff0c;引发浏览者的兴趣&#xff0c;最终促使他们采取行动。本文将介绍二十个满足要求的爆款文案的中文标题&#xff0c;并对每个标题进行拆解和描述。 1. "XX 绝对不能错过的十大技巧…

专题篇|国芯科技系列化布局车载DSP芯片,满足不同层次车载音频产品的需求

随着高端DSP芯片产品CCD5001的亮相&#xff0c;国芯科技也在积极布局未来的DSP系列芯片群。通过深入研究不同车型音频处理需求&#xff0c;对比国外DSP产品综合性能和成本&#xff0c;国芯科技未来将推出全新DSP芯片家族&#xff0c;包括已经推出的高端产品CCD5001&#xff0c;…

vector讲解

在学习玩string后我们开始学习vector&#xff0c;本篇博客将对vector进行简单的介绍&#xff0c;还会对vector一些常用的函数进行讲解 vector的介绍 实际上vector就是一个数组的数据结构&#xff0c;但是vector是由C编写而成的&#xff0c;他和数组也有本质上的区别&#xff…

排序算法整理

快速排序 C实现 void fastStore(int *a, int start, int end){if(start>end)return ;int leftstart;int rightend;int tempa[left];//设置基准值tempwhile(left < right) //左指针的位置一定小于右指针的位置{while(a[right]>temp && left < right) //左…

VRRP协议负载分担

VRRP流量负载分担 VRRP负载分担与VRRP主备备份的基本原理和报文协商过程都是相同的。同样对于每一个VRRP备份组,都包含一个Master设备和若干Backup设备。与主备备份方式不同点在于:负载分担方式需要建立多个VRRP备份组,各备份组的Master设备可以不同;同一台VRRP设备可以加…

linux(七):I2C(touch screen)

本文主要探讨210触摸屏驱动相关知识。 I2C子系统 i2c子系统组成部分:I2C核心,I2C总线驱动,I2C设备驱动 I2C核心&#xff1a;I2C总线驱动和设备驱动注册注销方法 I2C总线驱动&#xff1a;I2C适配器(I2C控制器)控制,用于I2C读写时序(I2C_adapter、i2c_a…

树的一些经典 Oj题 讲解

关于树的遍历 先序遍历 我们知道 树的遍历有 前序遍历 中序遍历 后序遍历 然后我们如果用递归的方式去解决&#xff0c;对我们来说应该是轻而易举的吧&#xff01;那我们今天要讲用迭代&#xff08;非递归&#xff09;实现 树的相关遍历 首先呢 我们得知道 迭代解法 本质上也…

微信小程序(九)轮播图

注释很详细&#xff0c;直接上代码 新增内容&#xff1a; 1.轮播容器的基本属性 2.轮播图片的尺寸处理 index.wxml <view class"navs"><text class"active">精选</text><text>手机</text><text>食品</text><…

第6章 现代通信技术

文章目录 6.1 图像与多媒体通信6.1.1 图像通信6.1.2 多媒体通信技术1、多媒体通信概念2、多媒体通信的组成3、多媒体通信的业务分类4、实用化的多媒体通信系统类型5、多媒体通信应用系统&#xff08;1&#xff09;多媒体会议电视系统&#xff08;2&#xff09;IPTV 6.2 移动通信…

C++——函数

1&#xff0c;概述 函数的作用&#xff1a;将一段经常使用的代码封装起来&#xff0c;减少重复代码 一个较大的程序&#xff0c;一般分为若干个程序块&#xff0c;每个模块实现特定的功能。 2&#xff0c;函数的定义 函数的定义一般主要有五个步骤&#xff1a; 1&#xff…

69.使用Go标准库compress/gzip压缩数据存入Redis避免BigKey

文章目录 一&#xff1a;简介二&#xff1a;Go标准库compress/gzip包介绍ConstantsVariablestype Headertype Reader 三&#xff1a;代码实践1、压缩与解压工具包2、单元测试3、为何压缩后还要用base64编码 代码地址&#xff1a; https://gitee.com/lymgoforIT/golang-trick/t…

USB-C接口给显示器带来怎样的变化?

随着科技的不断发展&#xff0c;Type-C接口已经成为现代电子设备中常见的接口标准。它不仅可以提供高速的数据传输&#xff0c;还可以实现快速充电和视频传输等功能。因此&#xff0c;使用Type-C接口的显示器方案也受到了广泛的关注。本文将介绍Type-C接口显示器的优势、应用场…

基于C++11的数据库连接池【C++/数据库/多线程/MySQL】

一、概述 概述&#xff1a;数据库连接池可提前把多个数据库连接建立起来&#xff0c;然后把它放到一个池子里边&#xff0c;就是放到一个容器里边进行维护。这样的话就能够避免数据库连接的频繁的创建和销毁&#xff0c;从而提高程序的效率。线程池其实也是同样的思路&#xf…

Mysql 编译安装部署

Mysql 编译安装部署 环境&#xff1a; 172.20.26.198&#xff08;Centos7.6&#xff09; 源码安装Mysql-5.7 大概步骤如下&#xff1a; 1、上传mysql-5.7.28.tar.gz 、boost_1_59_0.tar 到/usr/src 目录下 2、安装依赖 3、cmake 4、make && make install 5、…