基于SSM的个人饮食健康运动作息时间数据分析管理系统(javaweb-php-asp.netC#-j2ee)包含数据统计分析建议

 1 概述

 

该系统首先对系统进行分析设计,然后完成制作。

网站主要实现了前台注册、登录、网站公告、饮食信息、留言板、会员中心(修改个人资料、发布数据、我的数据、修改密码;

管理员登录系统后实现的功能有系统账户管理(管理员管理、操作日志)、留言信息管理(留言管理、信息管理、添加信息)、数据库管理(饮食信息管理、添加饮食信息、会员管理、健康档案管理、添加健康档案)。

根据前几个阶段的分析和设计,最终决定数据库选用现在比较流行的MYSQL作为本设计的后台存储数据,整个设计的结构模式采用B/S模式,另外前台编程语言采用JSP来设计与实现设计功能。

本系统的设计实施为饮食健康信息网站的运行做基础,为饮食健康信息网站提供良好的条件。

2 数据表

 

表  饮食数据

字段名称

自动增长

字段类型

说明

 

id

-

int

-

 

xb

-

varchar

标题

 

xqah

-

varchar

描述

 

url

-

varchar

附件

上传近期照片

member

-

varchar

会员名

 

sj

-

varchar

日期

 

field_1

 

 

姓名

文本内容

field_2

 

 

性别

文本内容

field_3

 

 

年龄

文本内容

field_200

-

int

最近一日三餐是否搭配合理

是否选项

field_201

-

int

最近是否常吃油腻食物

是否选项

field_202

-

int

最近是否常吃咸的食物

是否选项

field_203

-

int

最近是否常吃甜的食物

是否选项

field_204

-

int

最近血糖高吗

是否选项

field_205

-

int

有高血压、血脂稠的症状吗

是否选项

field_206

-

int

最近常吃杂粮吗

是否选项

field_207

-

int

最近是否肉多菜少

是否选项

 

表   会员表

字段名称

自动增长

字段大小

字段类型

允许空

说明

id

-

4

int

-

username

-

150

varchar

用户名

password

-

150

varchar

密码

type

-

150

varchar

类型

regtime

-

150

varchar

日期

ifuse

-

4

int

是否使用

logintimes

-

4

int

日期

表 食物表

字段名称

自动增长

字段类型

说明

id

 

int

编号

xb

 

varchar

标题

xqah

 

varchar

描述

url

 

varchar

附件

member

 

varchar

会员ID

sj

 

varchar

时间

field_1

 

varchar

食物

field_2

 

varchar

领用时间

field_3

 

varchar

热量

 

3 关键代码

 

数据库连接代码

package com.util;

import java.sql.*;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;

import javax.activation.DataSource;
import java.sql.*;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.naming.Context;
import javax.naming.InitialContext;

public class DBO {

	private Connection conn;
	private Statement stmt;
	private DataSource ds;

	public DBO() {
	}

	/**
	 * 打开数据库
	 */
	public void open() {
		try {
			Class.forName("com.mysql.jdbc.Driver");
			conn = DriverManager.getConnection("jdbc:mysql://localhost/db_website?characterEncoding=utf8",
					"root", "root");
			stmt = conn.createStatement();
			System.out.println("打开数据库连接");
		} catch (Exception ex) {
			System.err.println("打开数据库时出错: " + ex.getMessage());
		}
	}

	/**
	 * 关闭数据库,将连接返还给连接池
	 */
	public void close() {
		try {

			// connMgr.freeConnection("java", conn);
			conn.close();
			System.out.println("释放连接");
		} catch (SQLException ex) {
			System.err.println("返还连接池出错: " + ex.getMessage());
		}
	}

	/**
	 * 执行查询
	 */
	public ResultSet executeQuery(String sql) throws SQLException {
		ResultSet rs = null;

		rs = stmt.executeQuery(sql);
		System.out.println("执行查询");
		return rs;
	}

	/**
	 * 执行增删改
	 */
	public int executeUpdate(String sql) throws SQLException {
		int ret = 0;

		ret = stmt.executeUpdate(sql);

		System.out.println("执行增删改");
		return ret;
	}

	/**
	 * 将SQL语句加入到批处理
	 */
	public void addBatch(String sql) throws SQLException {
		stmt.addBatch(sql);
	}

	/**
	 * 执行批处理
	 */
	public int[] executeBatch() throws SQLException {
		boolean isAuto = conn.getAutoCommit();

		conn.setAutoCommit(false);
		int[] updateCounts = stmt.executeBatch();

		// conn.commit();

		// conn.setAutoCommit(isAuto);
		// conn.setAutoCommit(true);
		return updateCounts;
	}

	public boolean getAutoCommit() throws SQLException {
		return conn.getAutoCommit();
	}

	public void setAutoCommit(boolean auto) throws SQLException {
		conn.setAutoCommit(auto);
	}

	public void commit() throws SQLException {
		conn.commit();
		// this.close();
	}

	public void rollBack() throws SQLException {
		conn.rollback();
		// this.close();
	}

}

 

数据分析代码

 

package com.bean;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;

import com.util.Constant;
import com.util.DBO;

public class ComBean {

	private List list;
	private ResultSet rs;
	private String date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")
			.format(Calendar.getInstance().getTime());
	private int EVERYPAGENUM = 2;
	private int count = -1;
	private int qq = 0;
	
	
	 //获取最大值的下标  
    public int getMaxIndex(int[] arr){  
        int maxIndex = 0;   //获取到的最大值的角标  
        for(int i=0; i<arr.length; i++){  
            if(arr[i] > arr[maxIndex]){  
                maxIndex = i;  
            }  
        }  
        return maxIndex;  
    }  
      
    //获取最大值  
    public int getMaxNum(int[] arr){  
        int maxNum = arr[0];  
        for(int i=0; i<arr.length; i++){  
            if(arr[i] > maxNum){  
                maxNum = arr[i];  
            }  
        }  
        return maxNum;  
    }  
    
    //获取最大值的下标  
    public int getMinIndex(int[] arr){  
        int minIndex = 0;  
        for(int i=0; i<arr.length; i++){  
            if(arr[i] < arr[minIndex]){  
                minIndex = i;  
            }  
        }  
        return minIndex;  
    }  
      
    //获取最小值  
    public int getMinNum(int[] arr){  
        int minNum = arr[0];  
        for(int i=0; i<arr.length; i++){  
            if(arr[i] < minNum){  
                minNum = arr[i];  
            }  
        }  
        return minNum;  
    }  
    

	public void setEVERYPAGENUM(int EVERYPAGENUM) {
		this.EVERYPAGENUM = EVERYPAGENUM;
	}

	public int getMessageCount(String sql) { // 得到信息总数
		DBO dbo = new DBO();
		dbo.open();
		try {
			rs = dbo.executeQuery(sql);
			rs.next();
			count = rs.getInt(1);
			return count;
		} catch (SQLException ex) {
			ex.printStackTrace();
			return -1;
		} finally {
			dbo.close();
		}
	}

	public int getPageCount() { // 得到共多少页(根据每页要显示几条信息)
		if (count % EVERYPAGENUM == 0) {
			return count / EVERYPAGENUM;
		} else {
			return count / EVERYPAGENUM + 1;
		}
	}

	public List getMessage(int page, String sql2, int row) { // 得到每页要显示的信息
		DBO dbo = new DBO();
		dbo.open();
		List list = new ArrayList();
		try {
			rs = dbo.executeQuery(sql2);
			for (int i = 0; i < (page - 1) * EVERYPAGENUM; i++) {
				rs.next();
			}
			for (int t = 0; t < EVERYPAGENUM; t++) {
				if (rs.next()) {
					qq++;
					List list2 = new ArrayList();
					for (int jj = 1; jj <= row; jj++) {
						list2.add(rs.getString(jj));
					}
					list.add(list2);
				} else {
					break; // 减少空循环的时间
				}
			}
			return list;
		} catch (SQLException ex) {
			ex.printStackTrace();
			return list;
		} finally {
			dbo.close();
		}
	}

	public int comUp(String sql) {
		DBO dbo = new DBO();
		dbo.open();
		try {
			int i = dbo.executeUpdate(sql);
			if (i == 1) {
				return Constant.SUCCESS;
			} else {
				return Constant.SYSTEM_ERROR;
			}
		} catch (Exception e) {
			e.printStackTrace();
			return Constant.SYSTEM_ERROR;
		} finally {
			dbo.close();
		}
	}

	public List getCom(String sql, int row) {
		// String sql1 ="select * from jy where xb='女' order by visit desc";
		DBO dbo = new DBO();
		list = new ArrayList();
		dbo.open();
		try {
			rs = dbo.executeQuery(sql);
			while (rs.next()) {
				List list2 = new ArrayList();
				for (int i = 1; i <= row; i++) {
					list2.add(rs.getString(i));
				}
				list.add(list2);
			}
			return list;
		} catch (Exception e) {
			e.printStackTrace();
			return list;
		} finally {
			dbo.close();
		}
		
		
	}

	public List get1Com(String sql, int row) {
		// String sql =
		// "select * from bank where uid='"+uid+"' order by id desc ";
		DBO dbo = new DBO();
		list = new ArrayList();
		dbo.open();
		try {
			rs = dbo.executeQuery(sql);
			rs.next();
			for (int i = 1; i <= row; i++) {
				list.add(rs.getString(i));
			}
			return list;
		} catch (Exception e) {
			e.printStackTrace();
			return list;
		} finally {
			dbo.close();
		}
	}

	public String getString(String sql) {
		// String sql =
		// "select * from bank where uid='"+uid+"' order by id desc ";
		DBO dbo = new DBO();

		dbo.open();
		try {
			rs = dbo.executeQuery(sql);
			rs.next();

			return rs.getString(1);
		} catch (Exception e) {
			e.printStackTrace();
			return null;
		} finally {
			dbo.close();
		}
	}

	public String getString2(String sql) {
		// String sql =
		// "select * from bank where uid='"+uid+"' order by id desc ";
		DBO dbo = new DBO();

		dbo.open();
		try {
			rs = dbo.executeQuery(sql);
			rs.next();
			String str = rs.getString(1);
			if (str == null)
				return "0";
			else
				return str;
		} catch (Exception e) {
			e.printStackTrace();
			return "0";
		} finally {
			dbo.close();
		}
	}
}

 

 

 

 

 

4 效果演示

 

 

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

计算机程序设计开发

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值