当前位置:

首页 > 编程开发 > SpringBoot+thymeleaf+Echarts+Mysql怎么实现数据可视化读取

SpringBoot+thymeleaf+Echarts+Mysql怎么实现数据可视化读取

通过从数据库获取数据转为JSON数据,返回前端界面实现数据可视化。数据可视化测试实现过程1.pom.xmlpom.xml引入(仅为本文示例需要,其他依赖自行导入)org.thymeleaf.extrasthymeleaf-extras-springsecurity53.0.4.RELEASEorg.projectlomboklombok1.18.12providedcom.alibabafastjson1.2.42.后端程序示例1.Controller层packagecom.dvms.controller

本文目录

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

    数据可视化测试

    SpringBoot+thymeleaf+Echarts+Mysql怎么实现数据可视化读取

    SpringBoot+thymeleaf+Echarts+Mysql怎么实现数据可视化读取

    SpringBoot+thymeleaf+Echarts+Mysql怎么实现数据可视化读取

    实现过程

    1. pom.xml

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

    
    
        org.thymeleaf.extras
        thymeleaf-extras-springsecurity5
        3.0.4.RELEASE
    
     
    
        org.projectlombok
        lombok
        
        1.18.12
        provided
    
    
                com.alibaba
                fastjson
                1.2.4
     

    2. 后端程序示例

    1. Controller层

    package com.dvms.controller;
    
    /*
     *文件名: DataviewController
     *创建者: CJW
     *创建时间:2022/4/15 20:33
     *描述: TODO
     */
    
    
    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 dataname = paramoduleService.finddata();
            ArrayList 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";
        }
    }

    SpringBoot+thymeleaf+Echarts+Mysql怎么实现数据可视化读取

    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;
    
    /*
     *文件名: ParamoduleService
     *创建者: CJW
     *创建时间:2022/1/15 10:54
     *描述: TODO
     */
    public interface ParamoduleService {
    
        ArrayList finddata();
    
        ArrayList finddatanum();
    }

    SpringBoot+thymeleaf+Echarts+Mysql怎么实现数据可视化读取

    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;
    
    /*
     *文件名: ParamoduleServiceImpl
     *创建者: CJW
     *创建时间:2022/1/15 10:55
     *描述: TODO
     */
    @Service
    public class ParamoduleServiceImpl implements ParamoduleService {
    
        @Autowired
        private ParamoduleDao paramoduleDao;
        //查出数据名
        @Override
        public ArrayList finddata(){ return paramoduleDao.finddata(); }
        //查出数据数量
        @Override
        public ArrayList finddatanum(){ return paramoduleDao.finddatanum(); }
    }

    SpringBoot+thymeleaf+Echarts+Mysql怎么实现数据可视化读取

    4. entity层

    package com.dvms.entity;
    
    /*
     *文件名: Data
     *创建者: CJW
     *创建时间:2022/4/14 16:17
     *描述: TODO
     */
    
    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;
    
    }

    SpringBoot+thymeleaf+Echarts+Mysql怎么实现数据可视化读取

    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;
    
    /*
     *文件名: ParamoduleDao
     *创建者: CJW
     *创建时间:2022/1/15 10:52
     *描述: TODO
     */
    
    @Repository
    public interface ParamoduleDao {
    
         ArrayList finddata();
    
         ArrayList finddatanum();
    
    }

    SpringBoot+thymeleaf+Echarts+Mysql怎么实现数据可视化读取

    6. daoMapper层

    
    
    
    
        
        
            select dataname from data
        
    
        
        
            select datanum from data
        
        
    

    SpringBoot+thymeleaf+Echarts+Mysql怎么实现数据可视化读取

    7. 数据库data表

    SpringBoot+thymeleaf+Echarts+Mysql怎么实现数据可视化读取

    3. 前端程序示例

    前端引入:

    	
    	

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

    var datanum=[[${datanumJson}]]; // thymeleaf 获取后端参数方式
    
    JSON.parse(dataname)  // JSON接收数据
    		
    			
    			
    				
    					数据可视化测试示例
    					
    						
    							
    								
    									读取数据库数据可视化示例
                                        
                                            
                                            
                                            
                                        
                                                                                 //在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);                                                                      
                                                                                                                  // 基于准备好的dom,初始化echarts实例                                         var myChart1 = echarts.init(document.getElementById('main1'));                                         option = {                                             title: {                                                 text: '某站点用户访问来源',                                                 subtext: '纯属虚构',                                                 left: 'center'                                             },                                             tooltip: {                                                 trigger: 'item',                                                 formatter: '{a} 
    {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);                                                                      
                                 本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系bd@zhengruan.com
    作者最新文章
    编程开发
    上一篇: SpringBoot2.7 WebSecurityConfigurerAdapter类过期如何配置
    下一篇: python中的os.mkdir和os.makedirs怎么使用
    相关文章 更多
    C#怎么实现图表生成 C#如何用LiveCharts和OxyPlot绘制柱状图折线图饼图【图表】
    C#怎么实现图表生成 C#如何用LiveCharts和OxyPlot绘制柱状图折线图饼图【图表】

    C#图表生成中,LiveCharts需用ChartValues数据集合,并在更新后触发重绘;OxyPlot饼图需启用交互与标签;包引用务必注意版本适配;导出图片需在布局完成后操作,并校正DPI缩放以确保清晰度。

    springBoot项目常用目录有哪些
    springBoot项目常用目录有哪些

    springBoot项目常用目录springBoot项目的目录结构及名规范介绍基于SpringBoot开发时的目录结构及命名规范,通过介绍能够为你解决,在实际项目中如何规划目录结构?如何命名目录更规范?各个目录分别代表什么含义?等三个问题。目录说明servicex//项目名|-admin-ui//管理服务前端代码(一般将UI和SERVICE放到一个工程中,便于管理)|-servicex-auth//模块1|-servicex-common//模块2|-servicex-gateway//模块3|-serv

    Vue和ECharts4Taro3开发技巧:如何快速完成数据可视化需求
    Vue和ECharts4Taro3开发技巧:如何快速完成数据可视化需求

    Vue和ECharts4Taro3开发技巧:如何快速完成数据可视化需求引言:随着数据可视化在各个行业的广泛应用,越来越多的开发者对数据可视化的需求也越来越迫切。Vue作为一种流行的前端框架,以其简单易用和灵活性而受到广大开发者的喜爱。而ECharts4Taro3作为一种能够在Taro3框架下使用的数据可视化库,可以满足开发者在小程序和H5项目中的数据可视化需

    解析SpringBoot和SpringMVC之间的异同
    解析SpringBoot和SpringMVC之间的异同

    解析SpringBoot和SpringMVC之间的异同SpringBoot和SpringMVC是Java领域中非常重要的开发框架。虽然它们都属于Spring框架的一部分,但是在使用和功能上有一些明显的区别。本文将对SpringBoot和SpringMVC进行比较,解析它们之间的异同。首先,让我们来了解一下SpringBoot。SpringBo

    探索SpringCloud和SpringBoot在微服务领域的不同应用方式
    探索SpringCloud和SpringBoot在微服务领域的不同应用方式

    近年来,随着云计算和分布式架构的兴起,微服务架构的应用越来越广泛。而SpringCloud和SpringBoot作为Java开发中的两个重要框架,对于微服务的实现起到了重要的作用。然而,很多人对于它们在微服务领域的不同应用方式还存在一定的疑惑。本文将从不同的角度探索SpringCloud和SpringBoot在微服务中的应用方式。首先,我们来了解一下Spri

    SpringBoot和SpringMVC有何区别?
    SpringBoot和SpringMVC有何区别?

    SpringBoot与SpringMVC的不同之处在哪里?SpringBoot和SpringMVC是两个非常流行的Java开发框架,用于构建Web应用程序。尽管它们经常分别被使用,但它们之间的不同之处也是很明显的。首先,SpringBoot可以被看作是一个Spring框架的扩展或者增强版。它旨在简化Spring应用程序的初始化和配置过程,以帮助开发人

    比较SpringBoot和SpringMVC的异同
    比较SpringBoot和SpringMVC的异同

    SpringBoot和SpringMVC都是Java开发中常用的框架,但它们之间有一些明显的差异。本文将探究这两个框架的特点和用途,并对它们的差异进行比较。首先,我们来了解一下SpringBoot。SpringBoot是由Pivotal团队开发的,它旨在简化基于Spring框架的应用程序的创建和部署。它提供了一种快速、轻量级的方式来构建独立的、可执行

    SpringBoot与SpringMVC的不同点是什么?
    SpringBoot与SpringMVC的不同点是什么?

    SpringBoot和SpringMVC是Java开发中常用的两个框架,它们都是由Spring框架所提供的,但在功能和使用方式上有着一些区别。本文将分别介绍SpringBoot和SpringMVC的特点和区别。一、SpringBoot的特点:简化配置:SpringBoot通过约定优于配置的原则,大大简化了项目的配置过程。它可以自动配置项目所需要的参数,开发人

    比较和选择指南:SpringCloud与SpringBoot的功能比较
    比较和选择指南:SpringCloud与SpringBoot的功能比较

    SpringCloud和SpringBoot是目前Java领域中最热门的开源框架,它们分别提供了一套完善的微服务架构和快速构建应用程序的解决方案。本文将对它们的功能进行比较,并给出选择指南,以帮助读者了解它们的优势和适用场景。SpringBoot是一个用于开发Java应用程序的框架,它提供了一个简化的开发流程,集成了大量常用的功能和组件,减少了开发者的工作量

    SpringCloud与SpringBoot:分析它们之间的相似与不同
    SpringCloud与SpringBoot:分析它们之间的相似与不同

    深入剖析SpringCloud和SpringBoot的异同引言:在构建企业级应用程序时,Spring框架已经成为开发者们的首选。它提供了一种简单而强大的方式来构建独立于平台的应用程序。Spring框架由两个核心模块组成:SpringBoot和SpringCloud。虽然它们都可以帮助开发者快速搭建应用程序,但它们的目标和用途存在一些差异。本文将深入剖析Spr

    查看更多
    精品专题 更多
    装机必备
    装机必备

    正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

    Windows
    Windows

    正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

    PDF教程
    PDF教程

    正软商城PDF教程频道提供PDF编辑、转换、合并、拆分、压缩及格式处理方法,同时介绍常用PDF软件和工具的使用技巧。

    Mac软件 更多
    讯飞智作 网页版
    讯飞智作 网页版
    Windows/ macOS/ Linux

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    火山引擎 网页版
    火山引擎 网页版
    Windows/ macOS/ Linux

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    Aperty macOS版
    Aperty macOS版
    macOS

    Aperty 是 Skylum 推出的 AI 人像修图软件,支持自然肤质修饰、瑕疵处理、面部与身体调整、预设及批量同步。

    WINDOWS 更多
    讯飞智作 网页版
    讯飞智作 网页版
    Windows/ macOS/ Linux

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    火山引擎 网页版
    火山引擎 网页版
    Windows/ macOS/ Linux

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    PixTV 网页版
    PixTV 网页版
    Windows

    PixTV 是一款在浏览器中使用的 AI 视觉内容创作平台,提供图片、视频、音频、文字生成、AI 分镜、局部重绘、提示词反推和无限画布等工具,适合短剧、漫剧、广告及社交媒体内容制作。