一、源码特点
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
四 系统实现
源码获取 下方联系卡片↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓