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

四 系统实现


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

相关推荐
十叶知秋10 分钟前
【jmeter】jmeter的线程组功能的详细介绍
数据库·jmeter·性能测试
七星静香23 分钟前
laravel chunkById 分块查询 使用时的问题
java·前端·laravel
Jacob程序员24 分钟前
java导出word文件(手绘)
java·开发语言·word
ZHOUPUYU24 分钟前
IntelliJ IDEA超详细下载安装教程(附安装包)
java·ide·intellij-idea
stewie628 分钟前
在IDEA中使用Git
java·git
Elaine20239143 分钟前
06 网络编程基础
java·网络
G丶AEOM44 分钟前
分布式——BASE理论
java·分布式·八股
落落鱼20131 小时前
tp接口 入口文件 500 错误原因
java·开发语言
想要打 Acm 的小周同学呀1 小时前
LRU缓存算法
java·算法·缓存
镰刀出海1 小时前
Recyclerview缓存原理
java·开发语言·缓存·recyclerview·android面试