动态从数据库获取数据实时插入图表

jsp+Echarts实现图表可视化,连接数据库,从数据库拿数据 实现可视化的图表,jsp+mysql+eclipse,从数据库拿数据改变表格的数据算是echarts的初始入门案例的升级版。 想了解Echarts的各位大大-----》传送门 添加链接描述 效果图: 从Echarts中获得可视化图表,关于如何获得可视化图表,请详见 https://blog.youkuaiyun.com/aaaaaaddddsssss/article/details/106585094添加链接描述 通过jsp获得动态的数据,从mysql数据库中取数据 首先打开eclispe 创建一个Dynamic 阅读详情

1.实现效果图


2.jsp文件

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<script type="text/javascript" src="../../bootstrap/js/jquery-3.1.1.js"></script>
<script type="text/javascript" src="https://img.hcharts.cn/highcharts/highcharts.js"></script>
<script type="text/javascript" src="https://img.hcharts.cn/highcharts/modules/exporting.js"></script>
</head>
<body>
	数据库获取的时间:<span id="getTime"></span>

	<button id="stopit">停止定时器</button> 
	<button id="startit">开启定时器</button>
	
	
	<div id="container" style="min-width:400px; height: 400px;"></div>
	<script>        
		Highcharts.setOptions({
				    global: {
				        useUTC: false
				    }
				});
				function activeLastPointToolip(chart) {
				    var points = chart.series[0].points;
				    chart.tooltip.refresh(points[points.length -1]);
				}
				
				$('#container').highcharts({
				    chart: {
				        type: 'spline',
				        animation: Highcharts.svg,
				        marginRight: 10,
				        events: {
				            load: function () {
				                //每秒从数据库获取一个数
				                var series = this.series[0],
				                    chart = this;
				                //定时器
				                var iCount = setInterval(function(){
								    var url = "${pageContext.request.contextPath}/AjaxTimeServlet";
								    $("#getTime").load(url,function(backData,textStatus,xmlHttpRequest){
										var $temperature = parseFloat(backData.substr(0,4));//对传过来的数据进行类型转换
										var $time = (new Date(Date.parse((backData.substr(5,21)).replace(/-/g,"/")))).getTime();
										//每隔一秒添加进去的数
									    var x = $time;
									    	y = $temperature;
									    series.addPoint([x, y], true, true);
								        activeLastPointToolip(chart)
									});
								}, 1000);
				                //关闭定时器
						        $("#stopit").click(function(){
						        	 clearInterval(iCount);
						        });
								
				            }
				        }
				    },
				    title: {
				        text: '动态模拟实时数据'
				    },
				    xAxis: {
				        type: 'datetime',
				        tickPixelInterval: 150
				    },
				    yAxis: {
				        title: {
				            text: '值'
				        },
				        plotLines: [{
				            value: 0,
				            width: 1,
				            color: '#808080'
				        }]
				    },
				    tooltip: {
				        formatter: function () {
				            return '<b>' + this.series.name + '</b><br/>' +
				                Highcharts.dateFormat('%Y-%m-%d %H:%M:%S', this.x) + '<br/>' +
				                Highcharts.numberFormat(this.y, 1);
				        }
				    },
				    legend: {
				        enabled: false
				    },
				    exporting: {
				        enabled: false
				    },
				    series: [{
				        name: '数据',
				        data: (function () {
				            var data = [],
				                time = (new Date()).getTime(),
				                i;
				            for (i = -19; i <= 0; i += 1) {
				                data.push({
				                    x: time + i * 1000,
				                    y: Math.random()+19
				                });
				            }
				            return data;
				        }())
				    }]
				}, function(c) {
				    activeLastPointToolip(c)
				});
	</script>
</body>
</html>

3.功能实现

package com.chinasoft.servlet;

import java.io.IOException;
import java.math.BigDecimal;
import java.sql.SQLException;
import java.text.SimpleDateFormat;
import java.util.Random;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.chinasoft.dao.impl.ImplTemperatureDao;
import com.chinasoft.entity.Temperature;

@WebServlet("/AjaxTimeServlet")
public class AjaxTimeServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
    public AjaxTimeServlet() {
        super();
    }

	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		Temperature temperature = new Temperature();
//		生成随机温度
		Random random = new Random();
		float a = random.nextFloat()/2+19;
		BigDecimal b =new BigDecimal(a).setScale(1,BigDecimal.ROUND_HALF_UP);
		temperature.setTemperature(b+"℃");
		ImplTemperatureDao implTemperatureDao = new ImplTemperatureDao();
		try {
				//插入数据库
				implTemperatureDao.addTemperature(temperature);
				//读取数据
				temperature =implTemperatureDao.findTemperatureById();
				//转换时间格式
				SimpleDateFormat myFmt=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
				String time = myFmt.format(temperature.getTime());
				//发送
				response.setContentType("text/html;charset=utf-8");
				response.getWriter().write(temperature.getTemperature());
				response.getWriter().write(time);
				/*//存储到json中
				Map<String,String> map = new HashMap<>();
				map.put("temperature", temperature.getTemperature());
				map.put("time", time);
				String result = JSONObject.fromObject(map).toString();
				//发送到客户端
				response.setContentType("text/html;charset=utf-8");
				response.getWriter().write(result);*/
				
				
			} catch (SQLException e) {
				e.printStackTrace();
			}
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		doGet(request, response);
	}

}

用Chart控件绘制动态图表(转载)         用Chart控件绘制动态图表北京邮电大学 刘瑞芳  进行程序设计时,选用一个合适的ActiveX控件,有时可大大减少编程工作量。ActiveX 控件(又称OCX)基于COM技术,作为独立的软件模块,它可以在任何程序设计语言中插入使用。本文仅以VC++为例说明Chart控件的使用。   Chart控件指Mschart.ocx(5.0版)或Mschrt20.ocx(6.0 版),是Vi 阅读详情

相关推荐

Java结合Highcharts和AJAX动态实时更新图表实践指南

实时数据采集需要高效地从源头获取信息,支持各种传感器、日志文件、用户操作事件等数据源。这种采集过程通常涉及异步数据处理技术,如Node.js的事件循环机制,或者使用专用的数据收集服务如Apache Kafka。示例代码:使用Node.js采集实时数据// 这里可以使用传感器数据或者业务事件的实时数据上述Node.js服务器示例,通过HTTP协议提供一个简单的数据源接口。这个接口模拟了从某传感器实时采集的数据。

weixin_30415591的博客 461

python数据库查询结果、用图表显示_通过python为所选mysql表创建图表/统计信息

对这些数据(名称、日期)的分析可以看作是发出特殊的SQL查询来获取timeseries信息。在您将根据数据集的大小,按日期/时间范围(日/周/月/年或更详细的小时/分钟)对信息进行“采样”。在我经常使用这样的查询,日期字段被截短到采样率,在mysql中date_格式函数很酷(postgres和oracle分别使用date_trunc和trunc)您希望在数据中看到的是您的WHERE条件。在sele...

weixin_34620163的博客 1182

基于ECharts实现JSP页面实时动态折线图更新

ECharts 支持多种数据格式输入,但在时间序列图表中推荐采用[时间戳, 数值]的二维数组形式,即:data: [这种结构的优势在于:1.天然适配 time 类型 xAxis:ECharts 自动识别第一项为时间维度,无需额外映射;2.支持非均匀时间间隔:适用于传感器上报不规律、网络延迟等真实场景;3.便于前端/后端统一数据协议:JSON 序列化简单,易于传输与解析。相比之下,若仅传入纯数值数组(如),则需配合xAxis.data。

weixin_35835018的博客 1006

c# 从本地数据库获取数据并以图表显示

一. 本地mysql数据库我的本地数据库设计是这样的数据库服务器名称: restful_api使用表: locationusername: rootpassword: root后面数据库连接部分请自行根据自己数据更改二. 实现过程数据模板基类:这个类就是用于get和set操作. 对应数据格式要与数据库的字段数据格式一致.(类似java的模型层)class LocationData ...

later的博客 2万+

java 动态获取数据库信息生成word(含表格,柱状图),并下载

Springboot Controller中使用service调SQL语句的方法,动态获取数据库信息添加到WORD表格中,检查到的数据绘制为柱形图(直方图)添加到文档中,并生成word(含表格,柱状图)存储到本地,在浏览器下载本地的word文档

实时信息统计图表

类似window资源管理器CPU使用率图表控件,设计MCF双缓存绘制,简单易用,希望对这方面感兴趣的朋友参考。

echarts从数据库动态获取数据实现饼图和柱状图(Springboot)

echarts从数据库动态获取数据实现饼图和柱状图

qimengyouyuan的博客 9127

超级绚丽动态3D星空屏保

超级绚丽动态3D星空屏保,可以华丽的屏保,安全,华丽

java动态折线图_Java系列:jfreechart动态绘制折线图

一、概述:1.导入jfreechart-1.0.14.jar包2.实时插入数据3.获取where条件子句4.自定义SQL语句5.拼接SQL 并执行遍历6.获取jfreechart数据源7.制作jfreechart折线图8.获取json{共几页,当前页码,共几条,起始条数,终止条数,数据list}二、oracle数据库设计ELECTR_EQU表ELECTR_DATA表三、代码实例package el...

weixin_36070797的博客 718

SSM+Echarts+Mysql实现的从数据库获取数据展示图表的小demo

用SSM框架实现的echarts展示图表的小demo,使用的开发工具是eclipse,数据库是mysql。文件中包含项目源码,对应的数据库,以及项目运行后实现的图表截图(含url)。项目本人亲测,可完美展示图表,若有疑问,可Email我,Email:bpcforevery@gmail.com 。(ps:本人在另一个上传的文件中实现了用Servlet框架实现的echarts展示图表的小demo,使用的数据库也是mysql,感兴趣的可以去看看=-=)。

STK之Commu模块之三仿真卫星通信链路参数计算

考虑上述衰减的影响,可以得到卫星接收机输入端的载波功 [C] = [PT] +[GT] +[GR] -[L] -[L1] -[L2] (

juanhuokang2681的博客 8267

C/C++ Qt 数据库与Chart实现历史数据展示

在前面的博文中具体介绍了QChart组件是如何绘制各种通用的二维图形的,本章内容将继续延申一个新的知识点,通过数据库存储某一段时间节点数据的走向,当用户通过编辑框提交查询记录时,程序自动过滤出该时间节点下所有的数据,并将该数据动态绘制到图形组件内,实现动态查询图形的功能。接着编写一个模拟插入数据的案例,该案例每一秒向数据库内插入一条记录,我们运行一段时间。如果我们需要查询某一个时间节点下的数据,例如查询。运行插入程序,统计一段时间 从。首先通过如下代码,创建。

微软技术分享 1万+

【TensorRT】TensorRT C# API 项目介绍:基于C#与TensorRT部署深度学习模型(上篇)

开发了TensorRT C# API 2.0版本,该版本在开发时充分考虑了上一版本应用时出现的问题,并进行了改进。同时在本版本中,我们对接口进行了优化,使用起来更加简单,并同时提供了相关的应用案例,方便开发者进行使用。

grape_yan的博客 3038

Echarts动态显示MySQL数据库中的数据

Echarts动态显示MySQL数据库中的数据下载echarts并进行简单绘图下载和配置简单绘图实时显示数据库数据Apache24的安装构建项目mysql数据库的表格创建获取数据的php文件编写说一下如何运行这个php文件可以实时显示数据库信息的test2.html编写运行及结果展示总结感悟 下载echarts并进行简单绘图 下载和配置 最近在学习利用echarts进行数据可视化,简单画一个表格比较简单,去官网https://echarts.apache.org/en/index.html下载解压好echa

yunlong_G的博客 1万+

如何用libwebsocket库在stm32F407上实现websocket客户端?

🏆本文收录于 《全栈 Bug 调优(实战版)》 专栏。专栏聚焦真实项目中的各类疑难 Bug,从成因剖析 → 排查路径 → 解决方案 → 预防优化全链路拆解,形成一套可复用、可沉淀的实战知识体系。无论你是初入职场的开发者,还是负责复杂项目的资深工程师,都可以在这里构建一套属于自己的「问题诊断与性能调优」方法论,助你稳步进阶、放大技术价值 。

**My Coding Family** 1134

SAP 中租赁资产的实现需区分经营租赁与融资租赁,核心围绕资产主数据配置、折旧与利息设置、科目分配及业务操作展开

摘要:SAP系统租赁资产管理需区分经营租赁与融资租赁,通过SPRO配置资产主数据、折旧范围、利息计算及科目分配。关键步骤包括:激活折旧范围利息计算(OABZ)、设置租赁资产类别(OAYZ)、维护总账科目(AO90)及创建租赁资产主数据(AS01)。业务操作涵盖资产资本化(ABZON)、折旧利息过账(AFAB)、租金支付(F-53)及终止处理(ABUMN)。核心配置要点在于准确设置租赁类型、利率参数和科目联动,确保系统自动计算折旧与利息并生成正确凭证。

金牌架构师 1073

把mysql数据展示为图表_怎么从数据库中调出数据并生成动态图表?

展开全部JSP页面中嵌入动态图表的两种方32313133353236313431303231363533e59b9ee7ad9431333365636562法 :在JSP页面中插入Applet小程序 ;通过JavaBean动态生成图像。JSP是一种广泛应用的网页设计技术 ,它是一种HTML和Java脚本混合的编程技术 ,它结合了HTML的静态特性和Java语言的动态能力 ,因此用它进行动态网页设计...

weixin_39653481的博客 1691

从零开始跑通3DGS教程:(四)修改(缩放、空间变换)colmap生成的sfm结果

通过colmap进行的sfm的普通方式会丢失场景的物理尺度信息,并且并不在符合一般认知的坐标系下,本文将读取colmap生成的点云和相机pose,将其进行空间变换和缩放之后,重新保存,新保存的结果仍然可以被colmap读取以及进行后续的稠密重建以及3dgs等工作

诺有缸的高飞鸟的博客 1424

使用Google Chart API 创建实时图表

实时图表可以实时显示数据。这意味着数据将永久更新以始终显示当前图表。要创建实时图表,我们使用JavaScript和Google Chart API。 这些实时图表通常用于仪表板中,以显示例如温度或价格的变化情况。应用领域多样,它们看起来确实不错。你自己看! 实时图表–折线图 我在这里向您展示,您可以创建此实时图表。它每250毫秒更新一次,并显示(在我们的示例中)随机数据。在生产性使用中,它可以从数据库或直接从传感器读取和显示数据。 那不是全部。可以将相同的概念1:1转移到其他图表中...

allway2的博客 3466

10万张数据集持续迭代:YOLO模型的场景专属自进化体系如何搭建?

做工业质检的朋友应该都有过这样的经历——拿着在COCO上刷榜的YOLO模型跑到产线上一测,精度直接腰斩。这不是模型不行,是场景不对口。过去一年,我深度参与了一个工业视觉项目:产线每天产生超过10万张图像,需要持续迭代检测模型。我们踩过无数坑,最终摸索出一套YOLO模型的场景专属自进化体系。今天不聊虚的,直接上干货。让模型在真实场景数据中持续学习、自动进化,而不是每次依赖人工标注从头训练。下面我从主动学习筛选、增量持续学习、架构选型、部署优化、安全防护五个维度,拆解整个搭建过程。声明。

2601_95807009的博客 106

操作系统实验一到实验九合集(哈工大李治军)

操作系统实验一到实验九合集(哈工大李治军) 有详细代码及注释,程序已在本地测试,均能跑通

leoabcd12的博客 5万+

【数据仓库】

数据仓库(Data Warehouse, DW)是一种用于分析和报告的数据库系统,专门为大规模数据分析、历史数据管理和商业智能(BI)需求设计。数据仓库集成了来自多个来源的数据,通过清洗、转换和加载(ETL)过程,使其符合一致的结构和标准。数据仓库支持企业在大数据量下做出更明智的决策,是商业智能和数据分析的核心基础设施。数据仓库的主要目标是提供决策支持服务,通过结构化的数据管理,为企业提供可靠、全面的业务视图。

qq_42060170的博客 1809

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

使用Freemarker配合JFreeChart生成图表动态修改word文档数据

本文介绍使用JFreeChart与Freemarker结合,动态生成图表并插入Word文档的过程。首先利用JFreeChart根据实时数据绘制图表转为图片,然后在Freemarker模板中引用该图片,并结合其它动态数据填充到Word文档中,实现文档内容的自动更新和动态化报告生成,以提升报告制作效率及灵活性。

2301_81284374的博客 2905

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

利用QCharts实现实时显示数据库插入的新数据

最主要是监测代码在TDengine的构造函数内容,初始化了一个定时器,并开启该定时器,绑定信号和槽(注意,TDengine创建的时候再Qt里面要继承Qobject,不然不可以使用Connect)。3,在数据库类中设置一个定时器,每(X秒)查询一次是否有新数据插到检测的表中(利用Count()函数获得行数,与上次读取的做对比,目前只能检测到增数据)因为我数据库中查询test.d1001子表中的内容只有两列,分别是ts(时间戳),和value(值),因此在代码中使用一个Map来存储内容再合适不过了。

iLinYe的博客 747

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

上一篇: 图书管理系统之过滤器--处理用户信息的过滤和订单数据的处理
下一篇: Ajax请求成功后,获取success中的返回的问题
Java_jfei
博客等级 码龄10年 55粉丝 33原创
评论 6
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值