智慧社区管理系统08(维修和柱状图显现)

news2024/11/28 2:51:08

目录

后端代码

实体类

mapper层 

mappers sql语句  

Service层 

 接口

实现类 

Controller层 

前端部分

列表显示


后端代码

实体类

package com.woniu.community.entity;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@NoArgsConstructor
@AllArgsConstructor
public class Bar {
    private Integer id;
    private String name;
    private Integer nums;
}

mapper层 

package com.woniu.community.mapper;

import com.woniu.community.entity.Bar;

import java.util.List;

public interface BarMapper {
    List<Bar> getBars();
}

mappers sql语句  

 这里是外表链接,查询出来的数据是这样的

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.woniu.community.mapper.BarMapper">

    <select id="getBars" resultType="Bar">
    select
    count(re.id) as nums,ret.name, ret.id
    from
        repairtype ret
    left join repair re on ret.id=re.com_id
    group by ret.id
    </select>
</mapper>

Service层 

 接口

package com.woniu.community.service;

import java.util.Map;

public interface IBarServic {
    Map getBars();
}

实现类 

 这次实现类我们这里使用的是HashMap封装之后,返回一个map集合

package com.woniu.community.service.Impl;

import com.woniu.community.entity.Bar;
import com.woniu.community.mapper.BarMapper;
import com.woniu.community.service.IBarServic;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@Service
public class BarServiceImpl  implements IBarServic {
    @Autowired(required = false)
    private BarMapper barMapper;

    @Override
    public Map getBars() {
        List<Bar> bars = barMapper.getBars();
       // List<String> names = bars.stream().map(Bar::getName).collect(Collectors.toList());
        ArrayList<String> names = new ArrayList<>();
        bars.forEach(e->{
            names.add(e.getName());
        });
        List<Integer> nums=new ArrayList<>();
        bars.forEach(e->{
            nums.add(e.getNums());
        });
        HashMap map = new HashMap();
        map.put("names",names);
        map.put("nums",nums);
        return map;
    }
}

Controller层 

package com.woniu.community.controller;

import com.woniu.community.service.IBarServic;
import com.woniu.community.service.Impl.BarServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.Map;

@RestController
@RequestMapping("/bar")
@CrossOrigin(origins = "*")
public class BarController {
    @Autowired
    private BarServiceImpl barService;
    @RequestMapping("/list")
    public Map getBars() {
        return barService.getBars();
    }
}

浏览器访问地址,显示数据 

前端部分

列表显示

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link href="assets/bootstrap-3.3.7-dist/css/bootstrap.min.css" rel="stylesheet">
    <link href="assets/css/right.css" rel="stylesheet">
    <script src="assets/jquery-3.5.1.min.js"></script>
    <script src="assets/bootstrap-3.3.7-dist/js/bootstrap.min.js"></script>
    <script src="assets/vue.min-v2.5.16.js"></script>
    <script src="assets/vue-router.min-2.7.0.js"></script>
    <script src="assets/axios.min.js"></script>
    <script src="assets/date_picker.js"></script>
    <script src="assets/echarts.min-5.4.0.js"></script>
</head>
<body>
<div id="app">
    <div id="bar" ref="bar" style="width: 1000px; height: 400px;">

    </div>
</div>
<script>
    new Vue({
        el: "#app",
        data: {
            xAxisdata: null,
            seisedata: null,
        },
        methods: {
            //请求数据
            getbarlist() {
                axios.get("http://localhost:8080/bar/list").then(response => {
                    console.log(response.data);
                    this.xAxisdata = response.data.names;
                    this.seriesdata = response.data.nums;
                    this.myechars();
                });
            },
            myechars() {
                var myecharts = echarts.init(this.$refs.bar);
                var option = {
                    xAxis: {
                        data: this.xAxisdata,
                    },
                    yAxis: {},
                    series: [
                        {
                            type: 'bar',
                            data: this.seriesdata,
                        }
                    ]
                };

                myecharts.setOption(option);
            }
        },
        mounted(){

        },
        created: function () {
            this.getbarlist();
        },
    });
</script>
</body>
</html>

这里我们先要导入文件, 

 

 此处div部分,app是命名vue,下方的 ref对应下图的代码

 这里数据就是通过getbarlist中的方法的axios获取数据,然后将数据传给myechars这个方法

myechars中的option中,将数据处理柱状图,然后将option设置到myechars中,之后getbarlist调用数据,最后在加载后调用getbarlist,然后var myecharts = echarts.init(this.$refs.bar);传入到div中

效果图显示如下

注意如果出现,内容显示不完全,就将div的widthheight设置合适的大小即可 


echars使用教程可以自行通过官网查看:

基础柱状图 - 柱状图 - 常用图表类型 - 应用篇 - Handbook - Apache ECharts

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/49653.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

跨境电商:圣诞前的狂欢,超级星期六营销白皮书

“黑五”和“网一”的促销大戏终于告一段落了。Nox聚星获悉&#xff0c;Adobe Analytics的初步统计显示&#xff0c;美国购物者在今年黑色星期五的线上支出达到创纪录的91.2亿美元&#xff0c;增长2.3%。今年的市场表现比预期的要好&#xff0c;对跨境卖家而言&#xff0c;是个…

01-Maven高级

回顾 知识目标 第一单元、父子工程 1、为什么使用父子工程&#xff1f; 1.1、痛点1&#xff1a;提高了代码的重用性 父控制器的存在就是为了去除重复&#xff0c;一个项目存在多个模块&#xff0c;可能由多个人开发&#xff0c;比如abc3个模块&#xff0c;3个模块都是基于…

如何设计分布式系统-分布式事务-XA?

以下为个人观点&#xff0c;如有纰漏敬请指正。 如何设计分布式系统-CAP和BASE理论&#xff1f;_技术分子的博客-CSDN博客​​​​​​ 什么是事务&#xff1f; 处理问题整个过程中同时具有原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)&am…

Fucoidan-PLGA 岩藻多糖-聚乳酸-羟基乙酸共聚物 PLGA-PEG-Fucoidan

Fucoidan-PLGA 岩藻多糖-聚乳酸-羟基乙酸共聚物 PLGA-PEG-Fucoidan 中文名称&#xff1a;岩藻多糖-聚乳酸-羟基乙酸共聚物 英文名称&#xff1a;Fucoidan-PLGA 别称&#xff1a;PLGA修饰岩藻多糖&#xff0c;PLGA-岩藻多糖 岩藻多糖修饰的壳聚糖聚乳酸-羟基乙酸共聚物[poly…

软件测试面试技巧:如何提高面试通过率?这3点一定要做到

对于想要进入到软件测试岗的新手人员来说&#xff0c;面试这一关是非常重要的&#xff0c;它直接关系着你的去留&#xff0c;也关系后续的期待遇问题&#xff0c;那么&#xff0c;有没有什么技巧可以帮忙提高面试通过率呢&#xff1f; 关于这一问题答案&#xff0c;我从这几个方…

云计算模式的优势

PaaS是一种云计算形式&#xff0c;它提供了一个平台&#xff0c;允许开发人员和程序员开发、运行和管理自己的应用&#xff0c;而无需构建和维护相关的基础架构或平台。它就像是一个地基&#xff0c;由专门的平台服务提供商进行搭建和运营&#xff0c;并将该平台以服务的方式提…

D-022 SD/TF卡硬件电路设计

SD/TF卡硬件电路设计1 简介2 SD卡和Micro接口定义3 硬件设计要点4 硬件电路实战1 简介 SD卡按尺寸可以分为&#xff1a;标准SD卡、MiniSD卡、MicroSD卡。SD存储卡是一种基于半导体快闪记忆器的忆器设备。它具有体积小、传输速度快、支持热插拔等优点&#xff0c;在便携式装置领…

无延时直播/超低延时直播画面同步性测试(实测组图)

阿酷TONY / 原创 2022-11-30 / 长沙 / 超多组图 无延时直播/超低延时直播&#xff0c;主要只测试延时情况&#xff0c;没有涉及直播产品的功能、使用操作界面&#xff0c;有兴趣的朋友可以加联系我实际测试哦~~~ 1.无延时直播应用场景 无延时直播/超低延时常见应用场景&a…

用字典统计序列中键和值的数量collections.Counter()

【小白从小学Python、C、Java】 【计算机等级考试500强双证书】 【Python-数据分析】 用字典统计序列中键和值的数量 collections.Counter() 选择题 以下python代码结果错误的一项是? from collections import Counter myList[a,b,a] print(【显示】myList,myList) myDictCoun…

全波形反演的深度学习方法: 第 3 章 常规反演

本章介绍反演的基础知识, 以及工程中的常规反演. 仅供内部培训. 3.1 地震数据采集 地震勘探中常使用人工激发的振动进行数据采集. 相应装置包括: 激发器是产生震动的装置, 如炸药, 地震车 (撞击地面). 在城市道路等具有车辆会产生振动的地方, 也可以不安装这类装置;地震检波…

定时执行专家 —— 定时循环发送UDP消息(例如:控制远程电脑的开机、关机、重启、打开和关闭程序等)

目录 ◆ 定时执行专家 - 发送UDP消息功能 - 设置方法 - 使用注意事项 ◆ 两种发送方式 ◆UDP消息的两种格式类型 ◆ 关于UDP协议 ◆ 定时执行专家 - 发送UDP消息功能 - 设置方法 &#xff08;1&#xff09;点击 “定时执行专家” 工具栏 “新建” 图标&#xff0c;打开…

低温烹饪过程中真空压力的自动控制

摘要&#xff1a;真空低温烹饪法作为已经经典的高品质烹饪方法&#xff0c;并未得到广泛的应用&#xff0c;主要问题是无法针对各种食材进行真空度的准确设定和控制。本文将针对低温烹饪目前存在的真空度控制问题&#xff0c;提出相应的解决方案。解决方案的核心是采用动态平衡…

Microolap DAC for MySQL驱动程序或其他库

Microolap DAC for MySQL驱动程序或其他库 用于MySQL和Delphi/CBuilder(也称为MySQLDAC)的Microolap直接访问组件是一组Borland Delphi/CBuilder组件&#xff0c;允许直接连接到MySQL数据库服务器。DAC for MySQL允许您创建Delphi/CBuilder应用程序&#xff0c;无需BDE、ODBC或…

连表查询数据,将数据分组串联到一起

场景&#xff1a;用户中心&#xff0c;一个用户是对应多个角色的&#xff0c;登录系统之后需要返回用户信息给前端&#xff0c;其中包含多个用户角色 这个时候&#xff0c;group_concat函数就出场了&#xff0c;当然这是针对于MySql去使用&#xff1b; group_concat函数首先根…

PX4代码解析(6)

一、前言 上一节介绍了PX4姿态估计调用函数的流程&#xff0c;这一节分享一下我对PX4姿态解算的解读.首先&#xff0c;要理解PX4姿态解算的程序&#xff0c;要先从传感器的特性入手&#xff0c;这里主要介绍的传感器有加速度计&#xff0c;磁力计&#xff0c;陀螺仪. 二、传感…

GeoServer服务迁移出现 EncryptionOperationNotPossibleException 错误的解决方案

目录1.前言2.GeoServer服务迁移一般流程3.遇到问题4.原因分析5.解决办法6.根本原因分析7.总结1.前言 这几天我在迁移 GeoServer 服务的时候发现&#xff0c;报了一个错&#xff0c;EncryptionOperationNotPossibleException &#xff0c;这个错误的大概意思是加密操作不可用异常…

Jenkins - 打造强大的前端自动化工作流

什么是 Jenkins&#xff1f; Jenkins 是一款业界流行的开源持续集成工具&#xff0c;广泛用于项目开发&#xff0c;具有自动化构建、测试和部署等功能。我们可以利用 Jenkins 来对项目的持续性集成进行管控处理。 Jenkins 任务的创建 这里就简单不再累赘说明 Jenkins 的安装启动…

CF思维训练,2020长春CCPC(A,D)

D. Knowledge Cards(华容道GAME) 题意&#xff1a;给定n*m的矩阵&#xff0c;初始在左上角有一摞牌&#xff0c;从上到下每张的数字构成了一个长度为k的排列&#xff0c;请问在保证1.不能使得牌在移动过程中重叠2.不能让牌反复出现在左上和右下角。这两个条件下&#xff0c;能…

是不是Jenkins大神,看这几个技巧就够

01 Performance插件兼容性问题 自由风格项目中&#xff0c;有使用 Performance 插件收集构建产物&#xff0c;但是截至到目前最新版本&#xff08;Jenkins v2.298&#xff0c;Performance&#xff1a;v3.19&#xff09;&#xff0c;此插件和Jenkins都存在有兼容性问题&#xf…

运筹说 第75期 | 数学家欧拉也玩跨界

莱昂哈德欧拉&#xff08;Leonhard Euler&#xff09;的一生&#xff0c;是为数学发展而奋斗的一生&#xff0c;他不但为数学界作出贡献&#xff0c;更把整个数学推至物理的领域。欧拉杰出的智慧&#xff0c;顽强的毅力&#xff0c;孜孜不倦的奋斗精神和高尚的科学道德&#xf…