The dynamic loading json Echarts histogram data (distal JSP, rear SSM) simple! ! ! !

File upload and download articles

Ali EasyExcel import and export Excel spreadsheet articles

First on the effect of:

Database Design:

 Entity class :( slightly)

sql statement :( MySQL returns the specified field )

<select id="SumByDay" resultType="map">
     SELECT DATE_FORMAT(sm_data,'%Y-%m-%d') name , SUM(sm_inventory) value FROM salesmessage GROUP BY DATE_FORMAT(sm_data,'%Y-%m-%d');
  </select>

Controller:

 @Autowired
    TestSelectServiceImpl tssi;

 @RequestMapping(value = "/testchart" , method = {RequestMethod.POST, RequestMethod.GET})
    @ResponseBody
    public List<Salesmessage> TestChart(){

        List<Salesmessage> salesmessages1 = tssi.SumByDay();
  
        return salesmessages1;
    }

 front end:

<%@ page language="java" contentType="text/html; charset=UTF-8"
         pageEncoding="UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <script type="text/javascript" src="https://cdn.bootcss.com/jquery/3.4.1/jquery.js"></script>
    <script type="text/javascript" src="static/echarts/echarts.min.js"></script>

    <script type="text/javascript">
     
        $(function(){
            ajaxtest();
        });

        function ajaxtest() {
            // alert("hahhahaha")
            $.ajax({
                async:false,
                url:'${pageContext.request.contextPath}/testchart',
                type:'POST',
                dataType : 'json',
                success:function (objects1) {
                    initChart(objects1);
                }
            });
        }

        function formatData(data) {

            var xAxis = [];
            var serData =[];

            for(var i = 0 ; i < data.length ; i++){
                xAxis.push(data[i].name);
                console.log(xAxis);
                serData.push(data[i].value);
                console.log(serData);
            }
            return {
                xAxis : xAxis,
                serData : serData,
            };
        }

        function initChart(objects1) {
            var dom = document.getElementById("chartmain");
            var myChart = echarts.init(dom);

            var option = {
                title: {
                    text: '用户消费预测',
                    textStyle: {
                        color: '#000'
                    }
                },
                backgroundColor: '#ccc',
                textStyle: {
                    color: '#000',
                },
                tooltip: {},
                legend: {
                    data: ['消费额'],
                    textStyle: {
                        color: '#000'
                    }
                },
                xAxis: {
                    type: 'category',
                    data: formatData(objects1).xAxis,
                    axisLabel: {
                        interval: 0,
                        rotate: -30,
                    }

                },

                yAxis: {},
                series: [{
                    name: '消费额',
                    type: 'bar',
                    data: formatData(objects1).serData,
                }]
            };

            myChart.setOption(option, true);

        };

    </script>

</head>
<body>
<h2>测试页</h2>

<div style="width: 100%;height: 100%" id="chartmain"></div>

</body>
</html>

 

Published 17 original articles · won praise 13 · views 1140

Guess you like

Origin blog.csdn.net/Tianc666/article/details/104506059
Recommended