java SSM水质历史数据可视化设计myeclipse开发mysql数据库springMVC模式java编程计算机网页设计

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

ssm 水质历史数据可视化设计


二、功能介绍
主要内容包括数据的按时间段查询、表格化分页显示、趋势图显示等功能。完成课题的条件需要熟悉Java web开发,以及web前端设计技术。实现检测站点历史数据的表格化分页显示、根据查询时间区间查询历史数据、历史数据折线图显示等功能,不同的用户角色所能浏览的权限不同
(1)用户管理:对用户信息进行添加、删除、修改和查看
(2)管理员管理:对管理员信息进行添加、删除、修改和查看
(3)地区管理:对地区信息进行添加、删除、修改和查看
(4)站点管理:对站点信息进行添加、删除、修改和查看
(5)水质管理:对水质信息进行添加、删除、修改和查看 折线图查看
(6)个人信息修改

数据库设计

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

表3.1 用户信息表

序号

字段名称

数据类型

长度

主键

描述

1

yhid

INTEGER

11

用户编号

2

yhm

VARCHAR

40

用户名

3

mm

VARCHAR

40

密码

4

xm

VARCHAR

40

姓名

5

lxdh

VARCHAR

40

联系电话

6

lxdz

VARCHAR

40

联系地址

(2)管理员信息表如表3.2所示:

表3.2 管理员信息表

序号

字段名称

数据类型

长度

主键

描述

1

glyid

INTEGER

11

管理员编号

2

yhm

VARCHAR

40

用户名

3

mm

VARCHAR

40

密码

4

xm

VARCHAR

40

姓名

(3)地区信息表如表3.3所示:

表3.3 地区信息表

序号

字段名称

数据类型

长度

主键

描述

1

dqid

INTEGER

11

地区编号

2

dq

VARCHAR

40

地区

(4)站点信息表如表3.4所示:

表3.4 站点信息表

序号

字段名称

数据类型

长度

主键

描述

1

zdid

INTEGER

11

站点编号

2

zdmc

VARCHAR

40

站点名称

3

dq

VARCHAR

40

地区

(5)水质信息表如表3.5所示:

表3.5 水质信息表

序号

字段名称

数据类型

长度

主键

描述

1

szid

INTEGER

11

水质编号

2

zhd

VARCHAR

40

站点

3

sj

VARCHAR

40

时间

4

zd

VARCHAR

40

浊度

5

yd

VARCHAR

40

盐度

6

sjd

VARCHAR

40

酸碱度

7

sw

VARCHAR

40

水温

8

rjy

VARCHAR

40

溶解氧

9

ddl

VARCHAR

40

电导率

系统ER 图

代码设计

	public String addPage(yonghu yonghu,HttpServletRequest request){Map<String,Object> map= new HashMap<String,Object>();System.out.println("addPageok");return "yonghu/yonghuadd";}@RequestMapping(value="/add")public String add(yonghu yonghu,HttpServletRequest request){Map<String,Object> map= new HashMap<String,Object>();//String name=(String)request.getParameter("name");map.put("yhid", yonghu.getYhid());//用户编号map.put("yhm", yonghu.getYhm());//用户名map.put("mm", yonghu.getMm());//密码map.put("xm", yonghu.getXm());//姓名map.put("lxdh", yonghu.getLxdh());//联系电话map.put("lxdz", yonghu.getLxdz());//联系地址map.put("zd", yonghu.getZd());//联系地址String yhid=(String)yonghu.getYhid();//用户编号String yhm=(String)yonghu.getYhm();//用户名String mm=(String)yonghu.getMm();//密码String xm=(String)yonghu.getXm();//姓名String lxdh=(String)yonghu.getLxdh();//联系电话String lxdz=(String)yonghu.getLxdz();//联系地址String sql="select count(1) as num from yonghu where yhm='"+yhm+"'";ResultSet rs=null;int num=0;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{yonghudao.save(map);request.setAttribute("msg", "<script>alert('添加成功');</script>");}}catch(Exception e){e.printStackTrace();}System.out.println("addok");return "yonghu/yonghuadd";}/**删除 * */@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>");yonghudao.del(id);return selectall(null,map,request);}/*** 修改yonghu信息*/@RequestMapping(value="/update")public String update(yonghu yonghu,HttpServletRequest request,Map<String,Object> map1){Map<String,Object> map= new HashMap<String,Object>();map.put("yhid", yonghu.getYhid());//用户编号map.put("yhm", yonghu.getYhm());//用户名map.put("mm", yonghu.getMm());//密码map.put("xm", yonghu.getXm());//姓名map.put("lxdh", yonghu.getLxdh());//联系电话map.put("lxdz", yonghu.getLxdz());//联系地址String yhid=(String)yonghu.getYhid();//用户编号String yhm=(String)yonghu.getYhm();//用户名String mm=(String)yonghu.getMm();//密码String xm=(String)yonghu.getXm();//姓名String lxdh=(String)yonghu.getLxdh();//联系电话String lxdz=(String)yonghu.getLxdz();//联系地址request.setAttribute("msg", "<script>alert('修改成功');</script>");yonghudao.update(map);return selectall(null,map1,request);}/*** 修改yonghu信息*/@RequestMapping(value="/upd")public String upd(yonghu yonghu,HttpServletRequest request,Map<String,Object> map1){Map<String,Object> map= new HashMap<String,Object>();map.put("yhid", yonghu.getYhid());//用户编号map.put("yhm", yonghu.getYhm());//用户名map.put("mm", yonghu.getMm());//密码map.put("xm", yonghu.getXm());//姓名map.put("lxdh", yonghu.getLxdh());//联系电话map.put("lxdz", yonghu.getLxdz());//联系地址String yhid=(String)yonghu.getYhid();//用户编号String yhm=(String)yonghu.getYhm();//用户名String mm=(String)yonghu.getMm();//密码String xm=(String)yonghu.getXm();//姓名String lxdh=(String)yonghu.getLxdh();//联系电话String lxdz=(String)yonghu.getLxdz();//联系地址request.setAttribute("msg", "<script>alert('修改成功');</script>");yonghudao.update(map);return mod(null,map1,request);}

mybatis配置

<insert id="insertshuizhi"  parameterType="java.util.Map">insert  into  shuizhi(zhd,sj,zd,yd,sjd,sw,rjy,ddl)  values(#{zhd},#{sj},#{zd},#{yd},#{sjd},#{sw},#{rjy},#{ddl})
</insert><delete id="delshuizhi" parameterType="int">delete  from  shuizhi where szid=#{szid}
</delete><update id="updateshuizhi" parameterType="java.util.Map">
update shuizhi set zhd=#{zhd},sj=#{sj},zd=#{zd},yd=#{yd},sjd=#{sjd},sw=#{sw},rjy=#{rjy},ddl=#{ddl} where szid=#{szid}
</update><!--  查询返回的是 list<map> -->
<!-- resultType 就是返回查询结果的类型,而如果是resultMap=则返回的就是你定义的javabean  -->
<select  id="selectshuizhi"  parameterType="int" resultType="java.util.Map">select  * from shuizhi where szid=#{szid}
</select><!-- resultType 就是返回查询结果的类型,而如果是resultMap=则返回的就是你定义的javabean  -->
<select  id="selectall"  parameterType="java.util.Map" resultType="java.util.Map">select  a.*,b.zdmc,b.dq from shuizhi a,zhandian b where 1=1 and a.zhd=b.zdid
<if test=" null != zhd and zhd!=''" >and a.zhd = #{zhd}
</if>
<if test=" null != kssj and kssj!=''" >and a.sj >= #{kssj}
</if>
<if test=" null != jssj and jssj!=''" >and  #{jssj}>=a.sj</if></select>


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

四 系统实现


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

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

QT常用控件使用及布局

QT常用控件使用及布局 文章目录 QT常用控件使用及布局1、创建带Ui的工程2、ui界面介绍1、界面设计区2、对象监视区3、对象监属性编辑区4、信号与槽5、布局器6、控件1、Layouts1、布局管理器2、布局的dome 2、Spacers3、Buttons4、项目视图组(Item Views)5、项目控件组(Item Wid…

“数据要素×”正式来袭|美创“全栈能力、深入场景”保障数据价值安全释放

千呼万唤&#xff0c;1月4日&#xff0c;国家数据局等17部门联合印发的《“数据要素”三年行动计划&#xff08;2024—2026年&#xff09;》&#xff08;下称《三年行动计划》&#xff09;正式发布&#xff01; 作为国家数据局成立以来公开发布的首个重磅文件&#xff0c;《三年…

大数据StarRocks(四) :常用命令

这次主要介绍生产工作中使用Starrocks时的常用命令 4.1 连接StarRocks 4.1.1 Linux命令行连接 [roothadoop1011 fe]# yum install mysql -y [roothadoop1011 fe]# mysql -h hadoop101 -uroot -P9030 -p4.1.2 Windows客户端 DBeaver 连接 4.2 常用命令 4.2.1 查看状态 1. 查…

uniapp获取手机当前信息及应用版本

appVersion 是app端查询的数据信息 appWgtVersion 是浏览器端查询的数据信息 onLoad() {const systemInfo uni.getSystemInfoSync();console.log(systemInfo);// #ifdef H5const uniAppVersion systemInfo.appVersion;// #endif// #ifndef H5const uniAppVersion systemIn…

案例分享:Qt多国语言输入法软键盘

若该文为原创文章&#xff0c;转载请注明出处 本文章博客地址&#xff1a;https://hpzwl.blog.csdn.net/article/details/135346374 红胖子(红模仿)的博文大全&#xff1a;开发技术集合&#xff08;包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结…

vue-springboot基于java的实验室安全考试系统

本系统为用户而设计制作实验室安全考试系统&#xff0c;旨在实现实验室安全考试智能化、现代化管理。本实验室安全考试管理自动化系统的开发和研制的最终目的是将实验室安全考试的运作模式从手工记录数据转变为网络信息查询管理&#xff0c;从而为现代管理人员的使用提供更多的…

模板管理支持批量操作,DataEase开源数据可视化分析平台v2.2.0发布

2024年1月8日&#xff0c;DataEase开源数据可视化分析平台正式发布v2.2.0版本。 这一版本的功能升级包括&#xff1a;在“模板管理”页面中&#xff0c;用户可以通过模板管理的批量操作功能&#xff0c;对已有模板进行快速重新分类、删除等维护操作&#xff1b;数据大屏中&…

大数据 - Doris系列《二》- Doris安装(亲测成功版)

目录 &#x1f436;2.1 安装前准备 &#x1f959;1.设置系统最大文件打开句柄数 >启动一个程序的时候&#xff0c;打开文件的数量就是句柄数 &#x1f959;2.设置文件包含限制一个进程可以拥有的VMA(虚拟内存区域)的数量 &#x1f959;3.时钟同步 &#x1f959;4.关闭交…

labelImg的安装与使用

目录 1、查看本机是否安装labelImg 2、安装labelImg 3、创建自己的数据集 3.1 建立新文件夹 3.2 打开labelImg 注意&#xff1a;出现闪退的情况处理。 4、文件格式转换 4.1 修改文件夹路径 4.2 新建datasets文件夹 4.3 修改图片路径 4.4 执行 1、查看本机是否安装la…

uniCloud 云函数

相对于云函数&#xff0c;官方更推荐使用 云对象 新建云函数 编辑云函数 uniCloud-aliyun/cloudfunctions/hello_func/index.js use strict; exports.main async (event, context) > {let {name} eventreturn 你好&#xff0c;${name}! };云函数接收的参数从event中解构获…

部署可道云网盘的一个漏洞解决

目录 1漏洞展示 2.防范措施 1漏洞展示 因为可道云网盘的上传文档有保存在 /data/Group/public/home/文档/ 中,当别有用心之人知道个人部署的域名与上次的文件后&#xff0c;可以进行访问拿到uid。例我在我部署的网盘上上次一个aa.php 文件&#xff0c;然后拿来演示 然后通过…

密码学中的Hash函数

目录 一. 介绍 二. hash函数的五个基本性质 &#xff08;&#xff11;&#xff09;压缩性 &#xff08;&#xff12;&#xff09;正向计算简单性 &#xff08;&#xff13;&#xff09;逆向计算困难性 &#xff08;&#xff14;&#xff09;弱无碰撞性 &#xff08;&…

RabbitMQ(八)消息的序列化

目录 一、为什么需要消息序列化&#xff1f;二、常用的消息序列化方式1&#xff09;Java原生序列化&#xff08;默认&#xff09;2&#xff09;JSON格式3&#xff09;Protobuf 格式4&#xff09;Avro 格式5&#xff09;MessagePack 格式 三、总结 RabbitMQ 是一个强大的消息中间…

安全基础~信息搜集3

文章目录 知识补充APP信息搜集php开发学习理解漏洞 知识补充 端口渗透总结 python Crypto报错&#xff1a;https://blog.csdn.net/five3/article/details/86160683 APP信息搜集 1. AppInfoScanner 移动端(Android、iOS、WEB、H5、静态网站)信息收集扫描工具 使用教程 演示&…

【Harmony OS - 网络请求】

在一个应用开发中&#xff0c;网络请求是必不可少的&#xff0c;我们一般用的fetch、axios来进行http请求&#xff0c;在鸿蒙中也可以通过createHppt来发生一个http请求&#xff0c;它们都是异步请求返回的Promise&#xff0c;下面我们将介绍’ohos.net.http’和axios这两种方式…

网络端口(包括TCP端口和UDP端口)的作用、定义、分类,以及在视频监控和流媒体通信中的定义

目 录 一、什么地方会用到网络端口&#xff1f; 二、端口的定义和作用 &#xff08;一&#xff09;TCP协议和UDP协议 &#xff08;二&#xff09;端口的定义 &#xff08;三&#xff09;在TCP/IP体系中&#xff0c;端口(TCP和UDP)的作用 &#xff08;…

SSM框架学习笔记01 | 注解开发

文章目录 1. 注解形式定义bean2.纯注解开发3.bean管理4. 依赖注入5. 第三方bean管理总结 1. 注解形式定义bean Compoenet ControllerServiceRepository 配合代码块 <context:component-scan /> 使用 2.纯注解开发 Configuration ComponentScan AnnotationConfigApplicati…

k8s笔记1- 初步认识k8s

k8s简介&#xff1a; kubernetes&#xff0c;俗称k8是&#xff0c;用于自动部署&#xff0c;扩缩和管理容器化应用程序的开源系统&#xff0c;它将组成应用程序的容器&#xff0c;组合成逻辑单元&#xff0c;便于管理和服务发现。 k8s的作用 自动化上线和回滚、存储编排…

加工制造EUV极紫外光刻机的钼/硅反射镜的方法与技术

EUV光刻机使用的反射镜材质是具有极高精度的钼/硅反射镜。这是因为几乎所有材料对13.5nm的EUV都强烈吸收&#xff0c;故EUV光刻机不能采用DUV那样的透镜&#xff0c;只能采用反射式光学系统。又因为EUV波长与晶格参数接近&#xff0c;很容易发生衍射&#xff0c;反射率也很低&a…

vue3 指令详解

系列文章目录 TypeScript 从入门到进阶专栏 文章目录 系列文章目录前言一、v-model &#xff08;双向绑定功能&#xff09;二、v-bind(用于将一个或多个属性绑定到元素的属性或组件的 prop)三、v-if、v-else、v-else-if(用于根据条件选择性地渲染元素)四、v-show&#xff08;根…