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


    目录

    后端代码

    实体类

    mapper层 

    mappers sql语句  

    Service层 

     接口

    实现类 

    Controller层 

    前端部分

    列表显示


    后端代码

    实体类

    1. package com.woniu.community.entity;
    2. import lombok.AllArgsConstructor;
    3. import lombok.Data;
    4. import lombok.NoArgsConstructor;
    5. @Data
    6. @NoArgsConstructor
    7. @AllArgsConstructor
    8. public class Bar {
    9. private Integer id;
    10. private String name;
    11. private Integer nums;
    12. }

    mapper层 

    1. package com.woniu.community.mapper;
    2. import com.woniu.community.entity.Bar;
    3. import java.util.List;
    4. public interface BarMapper {
    5. List getBars();
    6. }

    mappers sql语句  

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

    1. "1.0" encoding="UTF-8"?>
    2. mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
    3. <mapper namespace="com.woniu.community.mapper.BarMapper">
    4. <select id="getBars" resultType="Bar">
    5. select
    6. count(re.id) as nums,ret.name, ret.id
    7. from
    8. repairtype ret
    9. left join repair re on ret.id=re.com_id
    10. group by ret.id
    11. select>
    12. mapper>

    Service层 

     接口

    1. package com.woniu.community.service;
    2. import java.util.Map;
    3. public interface IBarServic {
    4. Map getBars();
    5. }

    实现类 

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

    1. package com.woniu.community.service.Impl;
    2. import com.woniu.community.entity.Bar;
    3. import com.woniu.community.mapper.BarMapper;
    4. import com.woniu.community.service.IBarServic;
    5. import org.springframework.beans.factory.annotation.Autowired;
    6. import org.springframework.stereotype.Service;
    7. import java.util.ArrayList;
    8. import java.util.HashMap;
    9. import java.util.List;
    10. import java.util.Map;
    11. import java.util.stream.Collectors;
    12. @Service
    13. public class BarServiceImpl implements IBarServic {
    14. @Autowired(required = false)
    15. private BarMapper barMapper;
    16. @Override
    17. public Map getBars() {
    18. List bars = barMapper.getBars();
    19. // List names = bars.stream().map(Bar::getName).collect(Collectors.toList());
    20. ArrayList names = new ArrayList<>();
    21. bars.forEach(e->{
    22. names.add(e.getName());
    23. });
    24. List nums=new ArrayList<>();
    25. bars.forEach(e->{
    26. nums.add(e.getNums());
    27. });
    28. HashMap map = new HashMap();
    29. map.put("names",names);
    30. map.put("nums",nums);
    31. return map;
    32. }
    33. }

    Controller层 

    1. package com.woniu.community.controller;
    2. import com.woniu.community.service.IBarServic;
    3. import com.woniu.community.service.Impl.BarServiceImpl;
    4. import org.springframework.beans.factory.annotation.Autowired;
    5. import org.springframework.web.bind.annotation.CrossOrigin;
    6. import org.springframework.web.bind.annotation.RequestMapping;
    7. import org.springframework.web.bind.annotation.RestController;
    8. import java.util.Map;
    9. @RestController
    10. @RequestMapping("/bar")
    11. @CrossOrigin(origins = "*")
    12. public class BarController {
    13. @Autowired
    14. private BarServiceImpl barService;
    15. @RequestMapping("/list")
    16. public Map getBars() {
    17. return barService.getBars();
    18. }
    19. }

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

    前端部分

    列表显示

    1. html>
    2. <html lang="en">
    3. <head>
    4. <meta charset="UTF-8">
    5. <title>Titletitle>
    6. <link href="assets/bootstrap-3.3.7-dist/css/bootstrap.min.css" rel="stylesheet">
    7. <link href="assets/css/right.css" rel="stylesheet">
    8. <script src="assets/jquery-3.5.1.min.js">script>
    9. <script src="assets/bootstrap-3.3.7-dist/js/bootstrap.min.js">script>
    10. <script src="assets/vue.min-v2.5.16.js">script>
    11. <script src="assets/vue-router.min-2.7.0.js">script>
    12. <script src="assets/axios.min.js">script>
    13. <script src="assets/date_picker.js">script>
    14. <script src="assets/echarts.min-5.4.0.js">script>
    15. head>
    16. <body>
    17. <div id="app">
    18. <div id="bar" ref="bar" style="width: 1000px; height: 400px;">
    19. div>
    20. div>
    21. <script>
    22. new Vue({
    23. el: "#app",
    24. data: {
    25. xAxisdata: null,
    26. seisedata: null,
    27. },
    28. methods: {
    29. //请求数据
    30. getbarlist() {
    31. axios.get("http://localhost:8080/bar/list").then(response => {
    32. console.log(response.data);
    33. this.xAxisdata = response.data.names;
    34. this.seriesdata = response.data.nums;
    35. this.myechars();
    36. });
    37. },
    38. myechars() {
    39. var myecharts = echarts.init(this.$refs.bar);
    40. var option = {
    41. xAxis: {
    42. data: this.xAxisdata,
    43. },
    44. yAxis: {},
    45. series: [
    46. {
    47. type: 'bar',
    48. data: this.seriesdata,
    49. }
    50. ]
    51. };
    52. myecharts.setOption(option);
    53. }
    54. },
    55. mounted(){
    56. },
    57. created: function () {
    58. this.getbarlist();
    59. },
    60. });
    61. script>
    62. body>
    63. 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

  • 相关阅读:
    Java版企业电子招标采购系统源码Spring Cloud + Spring Boot +二次开发+ MybatisPlus + Redis
    sql实例-2
    计算机设计大赛 深度学习OCR中文识别 - opencv python
    算法刷题——爬楼梯
    【0205】哪些信号可kill掉postmaster?内核如何实现?
    gitlab新增分支后 VSCode的git tree在本地检测不到分支
    简单的金属探测器电路
    C++11 线程相关操作
    若依框架解读(微服务版)——2.模块间的调用逻辑(ruoyi-api模块)(OpenFeign)
    4.1.9-映射应用程序体系结构
  • 原文地址:https://blog.csdn.net/magic_818/article/details/128117101