iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >SpringBoot+thymeleaf+Echarts+Mysql实现数据可视化读取的示例
  • 674
分享到

SpringBoot+thymeleaf+Echarts+Mysql实现数据可视化读取的示例

2024-04-02 19:04:59 674人浏览 独家记忆
摘要

目录实现过程1. pom.xml2. 后端程序示例3. 前端程序示例通过从数据库获取数据转为JSON数据,返回前端界面实现数据可视化。 数据可视化测试 实现过程 1. pom.

通过从数据库获取数据转为JSON数据,返回前端界面实现数据可视化

数据可视化测试

请添加图片描述

请添加图片描述

请添加图片描述

实现过程

1. pom.xml

pom.xml引入(仅为本文示例需要,其他依赖自行导入)

<!--Thymeleaf整合security-->
<dependency>
    <groupId>org.thymeleaf.extras</groupId>
    <artifactId>thymeleaf-extras-springsecurity5</artifactId>
    <version>3.0.4.RELEASE</version>
</dependency>
 <!--导入lombok小辣椒驱动依赖,用来生成get/set方法依赖-->
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <!--<optional>true</optional>-->
    <version>1.18.12</version>
    <scope>provided</scope><!--自动生成有参无参构造-->
</dependency>
<dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.4</version>
 </dependency>

2. 后端程序示例

1. Controller层

package com.dvms.controller;




import com.alibaba.fastjson.JSON;
import com.dvms.service.ParamoduleService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.WEB.bind.annotation.RequestMapping;
import java.util.ArrayList;

@Controller
public class DataviewController {

    @Autowired
    private ParamoduleService paramoduleService;

    // 查出
    @RequestMapping("/data/todatashow")
    public String finddata(ModelMap model){
    
        ArrayList<String> dataname = paramoduleService.finddata();
        ArrayList<Integer> datanum = paramoduleService.finddatanum();

        String datanameJson = JSON.toJSONString(dataname);
        String datanumJson = JSON.toJSONString(datanum);

        System.out.println(datanameJson);
        System.out.println(datanumJson);

        model.put("datanameJson",datanameJson);
        model.put("datanumJson",datanumJson);


        return "ems/charts";
    }
}

请添加图片描述

2. Service层

package com.dvms.service;

import com.dvms.entity.Record;
import com.dvms.entity.Video;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;


public interface ParamoduleService {

    ArrayList<String> finddata();

    ArrayList<Integer> finddatanum();
}

请添加图片描述

3. ServiceImpl层

package com.dvms.service.Impl;

import com.dvms.dao.ParamoduleDao;
import com.dvms.entity.Record;
import com.dvms.entity.Video;
import com.dvms.service.ParamoduleService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;


@Service
public class ParamoduleServiceImpl implements ParamoduleService {

    @Autowired
    private ParamoduleDao paramoduleDao;
    //查出数据名
    @Override
    public ArrayList<String> finddata(){ return paramoduleDao.finddata(); }
    //查出数据数量
    @Override
    public ArrayList<Integer> finddatanum(){ return paramoduleDao.finddatanum(); }
}

请添加图片描述

4. entity层

package com.dvms.entity;



import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor;
import lombok.ToString;
import lombok.experimental.Accessors;

@lombok.Data
@ToString
@AllArgsConstructor
@NoArgsConstructor
@Accessors(chain = true) //链式调用

public class Data {

    private String id;
    private String dataname;
    private Integer datanum;

}

请添加图片描述

5. dao(pojo)层

package com.dvms.dao;

import com.dvms.entity.Record;
import com.dvms.entity.Video;
import org.springframework.stereotype.Repository;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;



@Repository
public interface ParamoduleDao {

     ArrayList<String> finddata();

     ArrayList<Integer> finddatanum();

}

请添加图片描述

6. daoMapper层

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "Http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.dvms.dao.ParamoduleDao">

    <!--查询数据名-->
    <select id="finddata" resultType="String">
        select dataname from data
    </select>

    <!--查询数据数量-->
    <select id="finddatanum" resultType="Integer">
        select datanum from data
    </select>
    
</mapper>

请添加图片描述

7. 数据库data表

请添加图片描述

3. 前端程序示例

前端引入:

	<script src="https://cdn.bootCSS.com/echarts/4.6.0/echarts.min.js">
	<html lang="en" xmlns:th="http://www.thymeleaf.org"></script>

展示前端部分程序,主要是以下两句:

var datanum=[[${datanumJson}]]; // thymeleaf 获取后端参数方式

JSON.parse(dataname)  // JSON接收数据
		<div class="main">
			<!-- MAIN CONTENT -->
			<div class="main-content">
				<div class="container-fluid">
					<h3 class="page-title">数据可视化测试示例</h3>
					<div class="row">
						<div class="col-md-12">
							<div class="panel">
								<div class="panel-heading">
									<h3 class="panel-title">读取数据库数据可视化示例</h3>
                                    <div class="right">
                                        <button type="button" class="btn-toggle-collapse"><i class="lnr lnr-chevron-up"></i>
                                        </button>
                                        <button type="button" class="btn-remove"><i class="lnr lnr-cross"></i></button>
                                    </div>
								</div>
								<div class="panel-body">
									<!--<div id="demo-line-chart" class="ct-chart"></div>-->
									<!-- 为ECharts准备一个具备大小(宽高)的Dom -->
								<div class="col-md-6" id="main" style="width: 600px;height:400px;">
                                    <script type="text/javascript" th:inline="javascript">

                                        //在js读取thymeleaf变量值
                                        var dataname=[[${datanameJson}]];
                                        var datanum=[[${datanumJson}]];


                                        // 基于准备好的dom,初始化echarts实例
                                        var myChart = echarts.init(document.getElementById('main'));
                                        // 指定图表的配置项和数据
                                        var option = {
                                            title: {
                                                text: '读取数据库数据可视化示例'
                                            },
                                            tooltip: {},
                                            legend: {
                                                data: ['数量']
                                            },
                                            xAxis: {
                                                data: JSON.parse(dataname)
                                            },
                                            yAxis: {},
                                            color:['#62d1de'],//在这里设置colorList,是一个数组,图片颜色会按顺序选取
                                            series: [
                                                {
                                                    name: '数量',
                                                    type: 'bar',
                                                    data: JSON.parse(datanum)
                                                }
                                            ]
                                        };


                                        // 使用刚指定的配置项和数据显示图表。
                                        myChart.setOption(option);
                                    </script>

                                </div>

                                <div class="col-md-6" id="main1" style="width: 600px;height:400px;">

                                    <script type="text/javascript" th:inline="javascript">


                                        // 基于准备好的dom,初始化echarts实例
                                        var myChart1 = echarts.init(document.getElementById('main1'));
                                        option = {
                                            title: {
                                                text: '某站点用户访问来源',
                                                subtext: '纯属虚构',
                                                left: 'center'
                                            },
                                            tooltip: {
                                                trigger: 'item',
                                                fORMatter: '{a} <br/>{b} : {c} ({d}%)'
                                            },
                                            legend: {
                                                orient: 'vertical',
                                                left: 'left',
                                                data: ['直接访问', '邮件营销', '联盟广告', '视频广告', '搜索引擎']
                                            },
                                            color:['#62d1de','#54d6b6','#a6db69','#ffd454','#ffa361','#d1d1d1'],//在这里设置colorList,是一个数组,图片颜色会按顺序选取
                                            series: [
                                                {
                                                    name: '访问来源',
                                                    type: 'pie',
                                                    radius: '55%',
                                                    center: ['50%', '60%'],
                                                    data: [
                                                        {value: 335, name: '直接访问'},
                                                        {value: 310, name: '邮件营销'},
                                                        {value: 234, name: '联盟广告'},
                                                        {value: 135, name: '视频广告'},
                                                        {value: 1548, name: '搜索引擎'}
                                                    ],
                                                    emphasis: {
                                                        itemStyle: {
                                                            shadowBlur: 10,
                                                            shadowOffsetX: 0,
                                                            shadowColor: 'rgba(0, 0, 0, 0.5)'
                                                        }
                                                    }
                                                }
                                            ]
                                        };

                                        // 使用刚指定的配置项和数据显示图表。
                                        myChart1.setOption(option);
                                    </script>
                                </div>
								</div>
                            </div>
							</div>
						</div>
								</div>
							</div>
						</div>
			<!-- END MAIN CONTENT -->
		</div>

到此这篇关于SpringBoot+thymeleaf+Echarts+Mysql 实现数据可视化读取的示例的文章就介绍到这了,更多相关SpringBoot可视化读取内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

您可能感兴趣的文档:

--结束END--

本文标题: SpringBoot+thymeleaf+Echarts+Mysql实现数据可视化读取的示例

本文链接: https://www.lsjlt.com/news/146365.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • SpringBoot+thymeleaf+Echarts+Mysql实现数据可视化读取的示例
    目录实现过程1. pom.xml2. 后端程序示例3. 前端程序示例通过从数据库获取数据转为JSON数据,返回前端界面实现数据可视化。 数据可视化测试 实现过程 1. pom....
    99+
    2024-04-02
  • SpringBoot+thymeleaf+Echarts+Mysql怎么实现数据可视化读取
    这篇文章主要介绍了SpringBoot+thymeleaf+Echarts+Mysql怎么实现数据可视化读取的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇SpringBoot+thymeleaf+Echarts...
    99+
    2023-06-30
  • SpringBoot+Thymeleaf+ECharts实现大数据可视化(基础篇)
    目录0x01 新建SpringBoot项目2. 编写HelloWorld程序代码0x02 引入ECharts资源1. 获取JQuery与ECharts资源2. 新...
    99+
    2024-04-02
  • SpringBoot+ECharts是如何实现数据可视化的
    一、提出任务 查询班级表数据,利用ECharts绘制各班人数柱形图。 (一)班级数据 (二)运行效果 二、实现步骤 (一)创建数据库与表 1、创建数据库 - test cre...
    99+
    2024-04-02
  • Python echarts实现数据可视化实例详解
    目录1.概述2.安装3.数据可视化代码3.1 柱状图3.2 折线图3.3 饼图总结1.概述 pyecharts 是百度开源的,适用于数据可视化的工具,配置灵活,展示图表相对美观,顺滑...
    99+
    2024-04-02
  • 基于springboot实现数据可视化的示例代码
    目录前言:一、读取Excel表格中的数据二、采用柱形图显示Excel表格数据2.1 前端代码2.2 后端代码三、采用饼状图显示Excel表格数据3.1 前端代码3.2 后端代码 参...
    99+
    2024-04-02
  • springboot+mybatis+echarts +mysql制作数据可视化大屏
    作者水平低,如有错误,恳请指正!谢谢!!!!! 目录 一、数据源 二、所需工具 三、项目框架搭建 3.1新建springboot项目 3.1.1进入官网 3.1.2创建项目 四、后端代码编写 4.1根据需求修改pom.xml 4.2配置数...
    99+
    2023-09-02
    大数据 数据仓库 javascript
  • springboot+echarts +mysql制作数据可视化大屏(四图)
    作者水平低,如有错误,恳请指正!谢谢!!!!! 项目简单,适合大学生参考 分类专栏还有其它的可视化博客哦! 专栏地址:https://blog.csdn.net/qq_55906442/category_11906804.htmlspm=1...
    99+
    2023-10-21
    spring boot echarts mysql 大数据 java
  • Echarts中怎么实现数据可视化
    这期内容当中小编将会给大家带来有关Echarts中怎么实现数据可视化,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Echarts这个方案从我接触到做出一个还算不错的图,也就不过几个小时的时间,其中至少60...
    99+
    2023-06-04
  • 实现Springboot Thymeleaf数据迭代的示例分析
    小编给大家分享一下实现Springboot Thymeleaf数据迭代的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!在模板文件中,可以使用“${{......
    99+
    2023-06-08
  • 怎么用Python echarts实现数据可视化
    本篇内容主要讲解“怎么用Python echarts实现数据可视化”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用Python echarts实现数据可视化”吧!1.概述...
    99+
    2023-06-29
  • pandas实现数据可视化的示例代码
    目录一、概述1.1 plot函数参数1.2 本文用到的数据源说明二、折线图--kind='line'三、柱状图--kind='bar'3.1 各组数据...
    99+
    2024-04-02
  • PyTorch数据读取的实现示例
    前言 PyTorch作为一款深度学习框架,已经帮助我们实现了很多很多的功能了,包括数据的读取和转换了,那么这一章节就介绍一下PyTorch内置的数据读取模块吧 模块介绍 pan...
    99+
    2024-04-02
  • echarts动态获取Django数据的实现示例
    目录一、后端二、前端三、页面效果四、总结在开发过程中我们需要将我们的数据通过图标的形式展现出来,接下来我为大家介绍一个有趣的框架:Echarts。这是一个使用JavaScript实现...
    99+
    2024-04-02
  • Python实现交通数据可视化的示例代码
    目录1、TransBigData简介2、数据预处理3、数据栅格化4、订单起讫点OD提取与聚合集计5、交互可视化1、TransBigData简介 TransBigData是一个为交通...
    99+
    2023-05-17
    Python交通数据可视化 Python数据可视化 Python可视化
  • Vue使用Echarts实现数据可视化的方法详解
    目录一,Echarts1.1 获取ECharts1.2 引入 ECharts二,Vue使用Echarts2.1 Vue环境2.2 main.js引入Echarts2.3 使用模板2....
    99+
    2024-04-02
  • Leaflet 数据可视化实现地图下钻示例详解
    目录前言获取GeoJson,如果有现成的可以本地导入。初始化地图渲染GeoJson地图&添加事件-核心部分App.vue中前言 说到地图下钻功能,做过可视化的应该都不陌生,...
    99+
    2023-01-04
    Leaflet 地图下钻 Leaflet数据可视化
  • python如何实现股票历史数据可视化示例
    这篇文章主要介绍python如何实现股票历史数据可视化示例,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!投资有风险,选择需谨慎。 股票交易数据分析可直观股市走向,对于如何把握股票行情,快速解读股票交易数据有...
    99+
    2023-06-15
  • python数据可视化pygal模拟掷骰子实现示例
    目录可视化包Pygal生成可缩放矢量图形文件分析结果,计算每个点数出现的次数绘制直方图同时投掷两个骰子同时投掷两个面数不同骰子可视化包Pygal生成可缩放矢量图形文件 可以在尺寸不同...
    99+
    2024-04-02
  • Python实现数据可视化案例分析
    目录1. 问题描述2. 实验环境3. 实验步骤及结果1. 问题描述 对右图进行修改: 请更换图形的风格请将 x 轴的数据改为-10 到 10请自行构造一个 y 值的函数将直方图上的数...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作