springboot从数据库获取数据,用echarts显示(数据可视化)

上图是实现的效果图:

Echarts插件,对于图表操控是十分方便的,但是一般生产环境,是把数据通过Json的格式传到HTML页面,利用Ajax解析Json,所以我们来模拟一下该过程:

1.下载Echarts的js文件和Jquery.js
  Echarts地址:http://echarts.baidu.com/download.html
   Jquery地址:https://jquery.com/download/

2.controller里面的代码

 @RequestMapping(value = "/kucun")
    @ResponseBody
    public List<PurchasingManagement> kucunData(Model model){
     List<PurchasingManagement> purcahseManagements=purchasingManagementService.findAll();
    //PurchasingManagement是我pojo中创建的实体
        System.err.println(purcahseManagements.toString());
        return purcahseManagements;
    }
    @GetMapping(value = "/kucundata")
    public String echarts4(Model model){
        System.err.println("========开始");
        return "purchasing-kucun";
    }

3.前端代码

http://localhost:8080/kucundata

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>图表</title>
    <script src="https://cdn.staticfile.org/jquery/2.2.4/jquery.min.js"></script>
    <!-- 引入 echarts.js -->
    <script src="https://cdn.staticfile.org/echarts/4.3.0/echarts.min.js"></script>
</head>

<body>
<!-- 为ECharts准备一个具备大小(宽高)的Dom -->
<div id="main" style="width: 800px;height:450px;"></div>
<script type="text/javascript">
    $(document).ready(function(){
        // 基于准备好的dom,初始化echarts实例
        var myChart = echarts.init(document.getElementById('main'));
        //数据加载完之前先显示一段简单的loading动画
        myChart.showLoading();
        var names=[];    //横坐标数组(实际用来盛放X轴坐标值)
        var values=[];    //纵坐标数组(实际用来盛放Y坐标值)
        $.ajax({
            type : "post",
            async : true,            //异步请求(同步请求将会锁住浏览器,用户其他操作必须等待请求完成才可以执行)
            url : "/kucun",    //请求发送到dataActiont处
            data : {},
            dataType : "json",        //返回数据形式为json
            success : function(result) {
                //请求成功时执行该函数内容,result即为服务器返回的json对象
                if (result) {
                    for(var i=0;i<result.length;i++){
                        names.push(result[i].nameandnum);
                        values.push(result[i].purchasingamount);
                    }
                    myChart.hideLoading();    //隐藏加载动画
                    myChart.setOption({        //加载数据图表
                        title: {
                            text: '库存数据'
                        },
                        tooltip: {},
                        legend: {
                            data:['數量']
                        },
                        xAxis: {
                            data: names
                        },
                        yAxis: {
                            type: 'value'
                        },
                        series: [{
                            // 根据名字对应到相应的系列
                            name: '數量',//薪资 series not exists. Legend data should be same with series name or data name.
                            type: 'bar',
                            data: values
                        }]
                    });
                }
            },
            error : function(errorMsg) {
                //请求失败时执行该函数
                alert("图表请求数据失败!");
                myChart.hideLoading();
            }
        });//end ajax
    });

</script>

</body>
</html>

这是一个很简单的小例子,仔细看看,肯定可以实现的!!!持久层无论是mybatis,还是jpa都可以的。就是遍历数据库,然后存入数组,最后传给前端,如此而已。我自己很菜,此博客仅奉于入门的人。

  • 7
    点赞
  • 54
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
Spring Boot 是一个基于 Spring 框架的开发框架,它可以帮助开发者快速搭建 Web 应用程序。结合 ECharts 和 MongoDB,可以实现数据可视化分析的功能。 下面是一个简单的使用 Spring Boot、ECharts 和 MongoDB 进行数据可视化分析的流程: 1. 创建 Spring Boot 项目,配置 MongoDB 数据库连接。 2. 创建 MongoDB 数据库 DAO 层,读取数据。 3. 创建控制器层,将数据转换为 ECharts 所需的格式,并返回给前端页面。 4. 前端页面使用 ECharts 的 API,在页面中绘制各种类型的图表。 5. 根据实际需求,对图表进行样式、交互、动画等方面的调整和优化。 下面是一个简单的示例代码: ```java // 创建 MongoDB 数据库 DAO 层,读取数据 @Repository public class MyCollectionDAO { @Autowired private MongoTemplate mongoTemplate; public List<MyCollection> findAll() { return mongoTemplate.findAll(MyCollection.class); } } // 创建控制器层,将数据转换为 ECharts 所需的格式,并返回给前端页面 @RestController @RequestMapping("/chart") public class ChartController { @Autowired private MyCollectionDAO myCollectionDAO; @GetMapping("/data") public Map<String, Object> getData() { List<MyCollection> data = myCollectionDAO.findAll(); // 将数据转换为 ECharts 所需的格式 List<String> names = data.stream().map(item->item.getName()).collect(Collectors.toList()); List<Integer> values = data.stream().map(item->item.getValue()).collect(Collectors.toList()); Map<String, Object> result = new HashMap<>(); result.put("names", names); result.put("values", values); return result; } } // 前端页面使用 ECharts 的 API,在页面中绘制图表 <script> $.get("/chart/data", function(data) { var chart = echarts.init(document.getElementById('chart')); chart.setOption({ title: { text: '数据可视化分析' }, tooltip: {}, xAxis: { data: data.names }, yAxis: {}, series: [{ name: '数值', type: 'bar', data: data.values }] }); }); </script> ``` 以上是一个简单的使用 Spring Boot、ECharts 和 MongoDB 进行数据可视化分析的流程和示例代码。实际应用中,还需要更加细致的处理和优化,例如数据筛选、分组、聚合、排序等,以及图表样式、交互、动画等方面的定制和优化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

only-qi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值