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

四 系统实现


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

相关推荐
suweijie7682 小时前
SpringCloudAlibaba | Sentinel从基础到进阶
java·大数据·sentinel
公贵买其鹿3 小时前
List深拷贝后,数据还是被串改
java
云和数据.ChenGuang4 小时前
Django 应用安装脚本 – 如何将应用添加到 INSTALLED_APPS 设置中 原创
数据库·django·sqlite
woshilys4 小时前
sql server 查询对象的修改时间
运维·数据库·sqlserver
Hacker_LaoYi4 小时前
SQL注入的那些面试题总结
数据库·sql
建投数据5 小时前
建投数据与腾讯云数据库TDSQL完成产品兼容性互认证
数据库·腾讯云
xlsw_6 小时前
java全栈day20--Web后端实战(Mybatis基础2)
java·开发语言·mybatis
Hacker_LaoYi6 小时前
【渗透技术总结】SQL手工注入总结
数据库·sql
岁月变迁呀6 小时前
Redis梳理
数据库·redis·缓存
独行soc6 小时前
#渗透测试#漏洞挖掘#红蓝攻防#护网#sql注入介绍06-基于子查询的SQL注入(Subquery-Based SQL Injection)
数据库·sql·安全·web安全·漏洞挖掘·hw