java SSM体育器材租借管理系统myeclipse开发mysql数据库springMVC模式java编程计算机网页设计

news2024/11/26 22:38:57

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

java ssm 体育器材租借管理系统


二、功能介绍
(1)系统管理:主要对用户进行管理,可以对用户设置不同权限,添加删除用户,修改密码,用户管理等。
(2)器材管理:主要对器材的信息,预约租借,归还统计等业务进行管理。包含添加器材类别、数量或修改器材信息、库存管理、网上预约、器材归还认证等。
(3)租用归还:对器材的租用归还信息进行统计。包括器材租用记录统计,器材归还记录统计。
(4)报表生成:用来定期查看或打印器材信息,以及器材的租用信息。
(5)帮助:帮助师生进行器材的查询,预约租借。   

数据库设计

(1)用户信息表如表5.1所示:

表5.1 用户信息表

序号

字段名称

数据类型

长度

主键

描述

1

yhid

INTEGER

11

用户编号

2

yhm

VARCHAR

40

用户名

3

mm

VARCHAR

40

密码

4

xm

VARCHAR

40

姓名

5

qx

VARCHAR

40

权限

6

lxdh

VARCHAR

40

联系电话

7

lxdz

VARCHAR

40

联系地址

(2)用户如表5.2所示:

表5.2 用户表

序号

字段名称

数据类型

长度

主键

描述

1

ggid

INTEGER

11

公告编号

2

bt

VARCHAR

40

标题

3

nr

VARCHAR

40

内容

4

fbsj

VARCHAR

40

发布时间

(3)器材类别表如表5.3所示:

表5.3 器材类别表

序号

字段名称

数据类型

长度

主键

描述

1

qclbid

INTEGER

11

器材类别编号

2

lb

VARCHAR

40

类别

(4)器材表如表5.4所示:

表5.4 器材信息表

序号

字段名称

数据类型

长度

主键

描述

1

qcid

INTEGER

11

器材编号

2

qcmc

VARCHAR

40

器材名称

3

lb

VARCHAR

40

类别

4

js

VARCHAR

40

介绍

5

kcsl

VARCHAR

40

库存数量

6

sm

VARCHAR

40

说明

系统ER 图

代码设计

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

		map.put("qcid", qicai.getQcid());//器材编号

		map.put("qcmc", qicai.getQcmc());//器材名称

		map.put("lb", qicai.getLb());//类别

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

		map.put("kcsl", qicai.getKcsl());//库存数量

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



		String qcid=(String)qicai.getQcid();//器材编号

		String qcmc=(String)qicai.getQcmc();//器材名称

		String lb=(String)qicai.getLb();//类别

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

		String kcsl=(String)qicai.getKcsl();//库存数量

		String sm=(String)qicai.getSm();//说明
		
		int num=0;
		String sql="select count(1) as num from qicai where qcmc='"+qcmc+"'";
		ResultSet rs=null;
		DBO db=new DBO();
		try{
			rs=db.query(sql);
			if(rs.next()){
				num=rs.getInt("num");
			}
			if(num>0){
				request.setAttribute("msg", "<script>alert('添加失败、器材名称重复');</script>");
			}else{

				
				qicaidao.save(map);
				
				
				request.setAttribute("msg", "<script>alert('添加成功');</script>");
			}
		}catch(Exception e){
			e.printStackTrace();
		}
		
		

		System.out.println("addok");
		return "qicai/qicaiadd";
	}
	
	/**删除 
	 * 
	 */
	@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>");
		qicaidao.del(id);
		return selectall(null,map,request);
	}
	/**
	 * 修改qicai信息
	 */
	@RequestMapping(value="/update")
	public String update(qicai qicai,HttpServletRequest request,Map<String,Object> map1){
		Map<String,Object> map= new HashMap<String,Object>();
		map.put("qcid", qicai.getQcid());//器材编号

		map.put("qcmc", qicai.getQcmc());//器材名称

		map.put("lb", qicai.getLb());//类别

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

		map.put("kcsl", qicai.getKcsl());//库存数量

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



		String qcid=(String)qicai.getQcid();//器材编号

		String qcmc=(String)qicai.getQcmc();//器材名称

		String lb=(String)qicai.getLb();//类别

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

		String kcsl=(String)qicai.getKcsl();//库存数量

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

		request.setAttribute("msg", "<script>alert('修改成功');</script>");
		qicaidao.update(map);
		return selectall(null,map1,request);
	}
	/**
	 * 查询qicai信息
	 */
	@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=qicaidao.select(Integer.parseInt(keyid));
		request.setAttribute("qcid", list.get(0).get("qcid"));//器材编号

		request.setAttribute("qcmc", list.get(0).get("qcmc"));//器材名称

		request.setAttribute("lb", list.get(0).get("lb"));//类别

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

		request.setAttribute("kcsl", list.get(0).get("kcsl"));//库存数量

		request.setAttribute("sm", list.get(0).get("sm"));//说明

		
		return "qicai/qicaimodify";
	}

mybatis文件

<!-- 添加用户信息 -->
<insert id="insertqicai"  parameterType="java.util.Map">
 insert  into  qicai(qcmc,lb,js,kcsl,sm)  values(#{qcmc},#{lb},#{js},#{kcsl},#{sm})
</insert>

<delete id="delqicai" parameterType="int">
 delete  from  qicai where qcid=#{qcid}
</delete>

<update id="updateqicai" parameterType="java.util.Map">
update qicai set qcmc=#{qcmc},lb=#{lb},js=#{js},kcsl=#{kcsl},sm=#{sm} where qcid=#{qcid}
</update>

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

<!-- resultType 就是返回查询结果的类型,而如果是resultMap=则返回的就是你定义的javabean  -->
<select  id="selectall"  parameterType="java.util.Map" resultType="java.util.Map">
  select  * from qicai where 1=1
<if test=" null != qcmc and qcmc!=''" >
 and qcmc = #{qcmc}
</if>
<if test=" null != lb and lb!=''" >
 and lb = #{lb}
</if>
<if test=" null != js and js!=''" >
 and js = #{js}
</if>
<if test=" null != kcsl and kcsl!=''" >
 and kcsl = #{kcsl}
</if>
<if test=" null != sm and sm!=''" >
 and sm = #{sm}
</if>

</select>

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

四 系统实现

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

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

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

相关文章

Ubuntu不能挂载移动硬盘

我有一个2T 的移动硬盘&#xff0c;分了两个区 不知道为啥突然之间一个分区老无法挂载&#xff0c;万能的重启也无法解决。 经查资料&#xff0c;这种情况一般是在使用时&#xff08;如看电影或者拷贝文件过程中&#xff09;将移动硬盘异常拔出再插入时&#xff0c;就提示不能…

MySQL:约束主键唯一键

表的约束&#xff1a;表中一定有约束&#xff0c;通过约束让插入表中的数据是符号预期的 约束的本质是通过技术手段&#xff0c;倒逼程序员插入正确的数据 Null约束 这里的Null表示在插入的时候&#xff0c;该属性能否为空&#xff0c;如果是NO&#xff0c;则插入时候必须有数…

广义双曲分布、KS检验与抄底沪指

上一篇笔记我们抛出一个问题&#xff0c;沪指大跌 4%时&#xff0c;能不能抄底&#xff1f;今天的笔记&#xff0c;我们就通过 KS 检验&#xff0c;找出沪指的概率分布&#xff0c;进而回答这个问题。在后面的笔记中&#xff0c;我们还将换一个方法继续回答这个问题。 K-S 检验…

Xshell 上传文件到服务器

Liunx 上传文件 rz //回车&#xff0c;从本地选择文件上传 ll //查看文件 pwd //查看当前目录 mkdir filename //创建文件如果遇到错误信息“bash: rz: command not found” 安装 lrzsz sudo yum install lrzsz操作 mv //移动文件或目录 tar //解压文件vim //文本编辑器&am…

【技巧】一招让雷电模拟器快如闪电!

转载请注明出处&#xff1a;小锋学长生活大爆炸[xfxuezhang.cn] 本教程默认你已经开启了Hyper-V功能了。如果没开启&#xff0c;那卡顿很正常。 1、打开雷电多开器 2、点击左下角设置 3、勾选这几项后保存 该配置只需设置一次&#xff0c;下次自动生效。 4、重新启动模拟器 5、…

Python-CSV文件的存储

CSV文件存储 CSV其文件以纯文本形式存储表格数据。CSV文件是一个字符序列&#xff0c;可以由任意数目的记录组成&#xff0c;各种记录由某种换行符分隔开。它比Excel文件更加简洁&#xff0c;XLS文本是电子表格&#xff0c;包含文本、数值、公式和格式等内容&#xff0c;CSV中则…

Qt中图片旋转缩放操作

在我们开发过程中&#xff0c;难免会遇到加载图片的问题&#xff0c;在上一个开发项目里我就遇到了图片缩放的问题&#xff0c;所以&#xff0c;我决定将这一部分好好研究&#xff0c;记录下来&#xff0c;希望对大家有帮助哟~ 在讲解之前&#xff0c;我们先看一看具体的展示效…

docker 部署来自Hugging Face下机器翻译模型

机器翻译模型(Hugging Face官网) 模型翻译api服务代码 # 离线翻译服务代码 # -*-coding:utf-8-*-import os import json import logging from logging.handlers import RotatingFileHandler from datetime import datetime from flask import Flask, request,jsonify from geve…

【LMM 009】MiniGPT-4:使用 Vicuna 增强视觉语言理解能力的多模态大模型

论文描述&#xff1a;MiniGPT-4: Enhancing Vision-Language Understanding with Advanced Large Language Models 论文作者&#xff1a;Deyao Zhu∗ Jun Chen∗ Xiaoqian Shen Xiang Li Mohamed Elhoseiny 作者单位&#xff1a;King Abdullah University of Science and Techn…

2023-我的CSDN创作之旅

1.博客内容与数量 2023年共发表博客59篇&#xff0c;内容主要集中在GIS&#xff0c;空间分析等领域 主要内容有&#xff1a; networkx学习 Geospatial Data Science Geocomputation ESDA in PySal SHAP Spatial Data Analysis BikeDNA 以下是对这几个章节主要内容的简…

行业模型与场景落地新样本,网易有道发布多款“子曰”教育大模型落地应用与产品

距离2023年7月正式发布教育大模型“子曰”不到半年时间&#xff0c;教育科技公司网易有道近日再次分享了“子曰”教育大模型创新和落地成果&#xff0c;宣布推出国内首个教育大模型“子曰”2.0版本&#xff0c;同时还发布了基于大模型研发的三大创新应用——AI家庭教师“小P老师…

快速、准确地检测和分类病毒序列分析工具 ViralCC的介绍和详细使用方法, 附带应用脚本

介绍 viralcc是一个基因组病毒分析工具&#xff0c;可以用于快速、准确地检测和分类病毒序列。 github&#xff1a;dyxstat/ViralCC: ViralCC: leveraging metagenomic proximity-ligation to retrieve complete viral genomes (github.com) Instruction of reproducing resul…

Gin 项目引入热加载

Gin 项目引入热加载 文章目录 Gin 项目引入热加载一、什么是热加载二、Air2.1 介绍2.2 特性特性&#xff1a;2.3 相关文档2.4 安装推荐使用 install.sh使用 go install 2.5 配置环境变量2.6 使用 三、Fresh3.1 介绍3.2 相关文档3.3 安装与使用 四、bee4.1 介绍4.2 相关文档4.3 …

2024年PMP考试新考纲-【人员领域】真题解析(3)

今天华研荟继续为您分享PMP新考纲下的【人员People领域】近年真题&#xff0c;帮助大家举一反三&#xff0c;一次性通过2024年的PMP考试。 这两天有读者朋友和我探讨&#xff0c;做机构提供的模拟题是否有必要。华研荟的态度是&#xff1a;完全没必要&#xff0c;做模拟题是浪费…

学而时习之---状态模式

在软件系统中&#xff0c;有些对象也像水一样具有多种状态&#xff0c; 这些状态在某些情况下能够相互转换&#xff0c; 而且对象在不同的状态下具有不同的行为。 为了更好地对这些具有多种状态的对象进行设计。 使用一种被称为状态模式的设计模式。 状态模式用于解决系统中复…

天翼云搭建CUDA开发环境综合教程

一、英伟达环境安装主要流程 1、下载安装对应系统版本nVidia驱动程序安装验证 2、CUDA开发套件安装验证 3、深度学习框架安装验证 4、容器化CUDA环境安装验证 5、制作天翼云主机私有镜像 6、分享镜像给其他用户&#xff0c;实现天翼云A10显卡英伟达驱动环境共享 二、详细…

01第一个Mybatis程序+引入Junit+引入日志文件logback

Mybatis MyBatis本质上就是对JDBC的封装&#xff0c;通过MyBatis完成CRUD。而对于JDBC&#xff0c;SQL语句写死在Java程序中&#xff0c;不灵活。改SQL的话就要改Java代码。违背开闭原则OCP。对于事务机制&#xff0c;MyBatis支持 或managed模式&#xff0c;JDBC模式中MyBatis…

element-ui Tree 树形控件 过滤保留子级并获取过滤后的数据 多选改单选

本示例基于vue2 element-ui element-ui 的官网demo是只保留到过滤值一级的&#xff0c;并不会保留其子级 目标 1、Tree 树形控件 保留过滤值的子级 2、在第一次过滤数据的基础上进行第二次过滤 3、Tree 树形控件 多选改为单选&#xff0c;且只有最末端子级可以选择 不足…

「解析」Windows 如何优雅使用 Terminal

所谓工欲善其事必先利其器&#xff0c;对于开发人员 Linux可能是首选&#xff0c;但是在家学习的时候&#xff0c;我还是更喜欢使用 Windows系统&#xff0c;首先是稳定&#xff0c;其次是习惯了。当然了&#xff0c;我还有一台专门安装 Linux系统的小主机用于学习Linux使用&am…

八、QLayout 用户基本资料修改(Qt5 GUI系列)

目录 一、设计需求 二、实现代码 三、代码解析 四、总结 一、设计需求 在很多应用程序中会有用户注册或用户编辑信息等界面。本文就设计一个用户信息编辑界面。要求包含用户名、姓名、性别、部门、年龄、头像、个人说明等信息。 二、实现代码 #ifndef DIALOG_H #define D…