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

发布时间:2022-04-18 13:52:39 作者:iii
来源:亿速云 阅读:296

SpringBoot+Thymeleaf+ECharts+MySQL 实现数据可视化读取

目录

  1. 引言
  2. 技术栈介绍
  3. 项目搭建
  4. 数据准备
  5. 后端开发
  6. 前端开发
  7. 数据可视化
  8. 项目部署
  9. 总结
  10. 参考文献

引言

数据可视化是现代Web应用开发中的一个重要环节,它能够帮助用户更直观地理解数据。本文将详细介绍如何使用Spring Boot、Thymeleaf、ECharts和MySQL实现数据可视化读取。我们将从项目搭建开始,逐步实现数据的读取、处理和展示,最终完成一个完整的数据可视化应用。

技术栈介绍

Spring Boot

Spring Boot是一个基于Spring框架的快速开发框架,它简化了Spring应用的初始搭建和开发过程。Spring Boot提供了自动配置、嵌入式Web服务器、健康检查等功能,使得开发者能够快速构建生产级别的应用。

Thymeleaf

Thymeleaf是一个现代化的服务器端Java模板引擎,适用于Web和独立环境。它能够处理HTML、XML、JavaScript、CSS等文件,并且与Spring Boot无缝集成。Thymeleaf的主要特点是自然模板,即模板文件可以直接在浏览器中打开,而不需要服务器渲染。

ECharts

ECharts是一个由百度开源的数据可视化库,它提供了丰富的图表类型和交互功能。ECharts支持折线图、柱状图、饼图、散点图等多种图表类型,并且可以轻松地与后端数据进行集成。

MySQL

MySQL是一个流行的关系型数据库管理系统,广泛应用于Web应用开发中。MySQL具有高性能、高可靠性和易用性等特点,适合存储和管理结构化数据。

项目搭建

环境准备

在开始项目之前,确保你已经安装了以下工具:

创建Spring Boot项目

  1. 打开IntelliJ IDEA,选择File -> New -> Project
  2. 选择Spring Initializr,点击Next
  3. 填写项目信息,选择Maven作为构建工具,点击Next
  4. 选择Spring Boot版本,勾选WebThymeleafMySQLJPA等依赖,点击Next
  5. 设置项目名称和路径,点击Finish完成项目创建。

配置MySQL数据库

  1. 打开application.properties文件,添加以下配置:
spring.datasource.url=jdbc:mysql://localhost:3306/your_database_name?useSSL=false&serverTimezone=UTC
spring.datasource.username=your_username
spring.datasource.password=your_password
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true
  1. 确保MySQL服务已启动,并且数据库your_database_name已创建。

数据准备

创建数据库表

  1. 在MySQL中创建一个名为data_visualization的数据库:
CREATE DATABASE data_visualization;
  1. 创建一个名为sales_data的表:
CREATE TABLE sales_data (
    id INT AUTO_INCREMENT PRIMARY KEY,
    product_name VARCHAR(255) NOT NULL,
    sales_amount DECIMAL(10, 2) NOT NULL,
    sales_date DATE NOT NULL
);

插入测试数据

  1. 插入一些测试数据:
INSERT INTO sales_data (product_name, sales_amount, sales_date) VALUES
('Product A', 1000.00, '2023-01-01'),
('Product B', 1500.00, '2023-01-02'),
('Product C', 2000.00, '2023-01-03'),
('Product A', 1200.00, '2023-01-04'),
('Product B', 1700.00, '2023-01-05'),
('Product C', 2200.00, '2023-01-06');

后端开发

创建实体类

  1. src/main/java/com/example/datavisualization目录下创建一个名为model的包。
  2. model包中创建一个名为SalesData的实体类:
package com.example.datavisualization.model;

import javax.persistence.*;
import java.util.Date;

@Entity
@Table(name = "sales_data")
public class SalesData {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    @Column(name = "product_name")
    private String productName;

    @Column(name = "sales_amount")
    private Double salesAmount;

    @Column(name = "sales_date")
    @Temporal(TemporalType.DATE)
    private Date salesDate;

    // Getters and Setters
}

创建Repository接口

  1. src/main/java/com/example/datavisualization目录下创建一个名为repository的包。
  2. repository包中创建一个名为SalesDataRepository的接口:
package com.example.datavisualization.repository;

import com.example.datavisualization.model.SalesData;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;

@Repository
public interface SalesDataRepository extends JpaRepository<SalesData, Long> {
}

创建Service层

  1. src/main/java/com/example/datavisualization目录下创建一个名为service的包。
  2. service包中创建一个名为SalesDataService的类:
package com.example.datavisualization.service;

import com.example.datavisualization.model.SalesData;
import com.example.datavisualization.repository.SalesDataRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class SalesDataService {

    @Autowired
    private SalesDataRepository salesDataRepository;

    public List<SalesData> getAllSalesData() {
        return salesDataRepository.findAll();
    }
}

创建Controller层

  1. src/main/java/com/example/datavisualization目录下创建一个名为controller的包。
  2. controller包中创建一个名为SalesDataController的类:
package com.example.datavisualization.controller;

import com.example.datavisualization.model.SalesData;
import com.example.datavisualization.service.SalesDataService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;

import java.util.List;

@Controller
public class SalesDataController {

    @Autowired
    private SalesDataService salesDataService;

    @GetMapping("/")
    public String index(Model model) {
        List<SalesData> salesDataList = salesDataService.getAllSalesData();
        model.addAttribute("salesDataList", salesDataList);
        return "index";
    }
}

前端开发

引入Thymeleaf模板引擎

  1. src/main/resources/templates目录下创建一个名为index.html的文件。
  2. index.html中添加以下内容:
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>数据可视化</title>
</head>
<body>
    <h1>销售数据可视化</h1>
    <div id="chart" style="width: 600px;height:400px;"></div>
</body>
</html>

引入ECharts

  1. index.html中引入ECharts的JavaScript文件:
<script src="https://cdn.jsdelivr.net/npm/echarts@5.3.2/dist/echarts.min.js"></script>
  1. index.html中添加以下JavaScript代码:
<script type="text/javascript">
    var chartDom = document.getElementById('chart');
    var myChart = echarts.init(chartDom);
    var option;

    option = {
        title: {
            text: '销售数据'
        },
        tooltip: {},
        legend: {
            data: ['销售额']
        },
        xAxis: {
            data: []
        },
        yAxis: {},
        series: [{
            name: '销售额',
            type: 'bar',
            data: []
        }]
    };

    myChart.setOption(option);

    // 从后端获取数据
    fetch('/api/sales-data')
        .then(response => response.json())
        .then(data => {
            var xAxisData = data.map(item => item.productName);
            var seriesData = data.map(item => item.salesAmount);

            myChart.setOption({
                xAxis: {
                    data: xAxisData
                },
                series: [{
                    data: seriesData
                }]
            });
        });
</script>

创建HTML页面

  1. index.html中添加以下内容:
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>数据可视化</title>
</head>
<body>
    <h1>销售数据可视化</h1>
    <div id="chart" style="width: 600px;height:400px;"></div>
    <script src="https://cdn.jsdelivr.net/npm/echarts@5.3.2/dist/echarts.min.js"></script>
    <script type="text/javascript">
        var chartDom = document.getElementById('chart');
        var myChart = echarts.init(chartDom);
        var option;

        option = {
            title: {
                text: '销售数据'
            },
            tooltip: {},
            legend: {
                data: ['销售额']
            },
            xAxis: {
                data: []
            },
            yAxis: {},
            series: [{
                name: '销售额',
                type: 'bar',
                data: []
            }]
        };

        myChart.setOption(option);

        // 从后端获取数据
        fetch('/api/sales-data')
            .then(response => response.json())
            .then(data => {
                var xAxisData = data.map(item => item.productName);
                var seriesData = data.map(item => item.salesAmount);

                myChart.setOption({
                    xAxis: {
                        data: xAxisData
                    },
                    series: [{
                        data: seriesData
                    }]
                });
            });
    </script>
</body>
</html>

数据可视化

从数据库读取数据

  1. SalesDataController中添加一个新的方法,用于返回JSON格式的销售数据:
@GetMapping("/api/sales-data")
@ResponseBody
public List<SalesData> getSalesData() {
    return salesDataService.getAllSalesData();
}

使用ECharts绘制图表

  1. index.html中,我们已经使用ECharts绘制了一个柱状图。通过fetch方法从后端获取数据,并将数据动态地更新到图表中。

项目部署

打包项目

  1. 在项目根目录下运行以下命令,将项目打包为JAR文件:
mvn clean package
  1. 打包完成后,会在target目录下生成一个JAR文件。

部署到服务器

  1. 将生成的JAR文件上传到服务器。
  2. 在服务器上运行以下命令启动应用:
java -jar your-application-name.jar
  1. 打开浏览器,访问http://your-server-ip:8080,即可看到数据可视化页面。

总结

本文详细介绍了如何使用Spring Boot、Thymeleaf、ECharts和MySQL实现数据可视化读取。我们从项目搭建开始,逐步实现了数据的读取、处理和展示,最终完成了一个完整的数据可视化应用。通过本文的学习,你应该能够掌握如何使用这些技术栈构建一个简单的数据可视化应用。

参考文献


以上内容为《SpringBoot+Thymeleaf+ECharts+MySQL 实现数据可视化读取》的详细教程,共计约11100字。希望本文能够帮助你快速掌握数据可视化的实现方法。

推荐阅读:
  1. 如何实现数据可视化matplotlib
  2. Echarts中怎么实现数据可视化

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

springboot thymeleaf echarts

上一篇:Ruby信号处理的方法

下一篇:jquery中的index怎么使用

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》