Spring Boot与ECharts 案例

提出案例

  • 后端利用Spring Boot查询班级表数据,前端利用ECharts绘制各班人数柱形图。

二,运行效果图

二、完成该案例

(一)创建数据库与表

  1、创建数据库

  • 创建数据库 - bootdb

 2、创建数据表

 

3、插入多条数据

(二)创建Spring Boot项目

  • 通过Spring Initializr创建Spring Boot项目 - EChartsDemo2
  • 添加依赖

 单击Finish按钮

三)创建班级实体类

  • 在包里创建bean子包,在子包里创建类
  • (四)创建班级映射器接口

  • 在net.cch.echarts包里创建mapper子包,在子包里创建ClazzMapper接口

(五)创建班级映射器配置文件

  • 在resources里创建mapper目录,在里面创建ClazzMapper.xml
  • (六)添加ECharts和jQuery脚本

  • 在static里创建js目录,添加echarts.min.js与jquery.min.js
  • (七),添加Druid起步依赖

  • 在pom.xml文件里添加Druid针对Spring Boot的起步依赖

(八)修改应用属性文件

  • 将application.properties更名为application.yaml

 

(九)创建页面可视化数据

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>20级各班人数柱状图</title>
    <script src="js/jquery-3.4.1.min.js"></script>
    <script src="js/echarts.min.js"></script>
    <style>
        .box {
            width: 600px;
            height: 400px;
            border: 1px solid cornflowerblue;
        }
    </style>
</head>
<body>
<input type="button" value="显示柱状图" class="btnShowBar"/>
<hr/>
<div class="box"></div>
<script>
    // 获取box元素
    var box = document.getElementsByClassName("box")[0];
    // 获取btnShowBar元素
    var btnShowBar = document.getElementsByClassName("btnShowBar")[0];
    // 定义按钮单击事件
    btnShowBar.onclick = function () {
        // 获取后台返回的JSON数据
        $.get('/getAll', function (data) {
            // 定义三个数组
            class_list = [];
            boy_list = [];
            girl_list = [];

            // 将json数据写入数组x`
            for (var i = 0; i < data.length; i++) {
                class_list.push(data[i].clazz);
                boy_list.push(data[i].boys);
                girl_list.push(data[i].girls);
            }

            // 1. 初始化ECharts
            var my_box = echarts.init(box);

            // 2. 进行参数配置
            var option = {
                // 标题
                title: {
                    text: "20级各班人数柱状图",
                    x: "center",
                    y: "top",
                    textAlign: "left",
                    textStyle: {
                        fontFamily: "楷体",
                        fontSize: 35,
                        textStyle: "bold"
                    }
                },

                // 图例
                legend: {
                    left: "right",
                    orient: "vertical"
                },

                // x轴数据
                xAxis: {
                    data: class_list
                },

                // y轴数据
                yAxis: {},

                // 数据信息
                series: [
                    {
                        name: "男生人数",
                        type: "bar",
                        data: boy_list,
                        itemStyle: {
                            normal: {
                                color: '#0000aa'
                            }
                        }
                    },
                    {
                        name: "女生人数",
                        type: "bar",
                        data: girl_list,
                        itemStyle: {
                            normal: {
                                color: '#aa0000'
                            }
                        }
                    }
                ]
            }

            // 3. 可视化呈现
            my_box.setOption(option);
        });
    }
</script>
</body>
</html>

启动应用,查看结果

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值