Echarts饼状图+Mybatisplus动态数据源

简介: Echarts饼状图+Mybatisplus动态数据源

1.引入相关依赖


        <!-- fastjson -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>${fastjson.version}</version>
        </dependency>
        <!--mybatisplus-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>${mybatisplus.version}</version>
        </dependency>
    <!--lombok-->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>


2.我们以查询商品的名称,数量为例做一个饼状图

NameNumber.java


@Data
@AllArgsConstructor
@NoArgsConstructor
public class NameNumber {
    @JsonProperty("value") //echarts 要求返回的名称,要不封装不上数据
    private int number;
    @JsonProperty("name") //echarts 要求返回的名称,要不封装不上数据
    private String goodsname;
}


3.PieVo.java 用来返回json数据的实体,里面装着List<NameNumber>

@Data
@NoArgsConstructor
@AllArgsConstructor
public class PieVo {
    private List<NameNumber> nameNumberList;
}

4.EchartsController.java


@RestController
@RequestMapping("/echarts")
public class EchartsController {
    @Autowired
    PieMapper pieMapper;
    @RequestMapping("/pie")
    public PieVo loadAll(){
        PieVo pieVo = new PieVo();
       List<NameNumber> pieVoList =  pieMapper.findNameNumber();
       pieVo.setNameNumberList(pieVoList);
       return pieVo;
    }
}


5.PieMapper.java


@Mapper
public interface PieMapper {
    @Select("select goodsname,number from bus_goods")
    public List<NameNumber> findNameNumber();
}


6.echarts饼图页面


<!DOCTYPE html>
<html xmlns:th="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="utf-8">
    <script type="text/javascript" th:src="@{/echarts/jquery.min.js}"></script>
</head>
<body>
<div class="page-container" id="main" style="width: 95%;height:580px;"></div>
<script type="text/javascript" th:src="@{/echarts/echarts.js}"></script>
<script type="text/javascript">
    // 基于准备好的dom,初始化echarts实例
    var myChart = echarts.init(document.getElementById('main'));
    $.ajax({ //你需要写这些请求  异步请求数据
        type: "GET",
        url: "/echarts/pie",
        dataType: 'json',
        success: function (data) {
            // 指定图表的配置项和数据
            option = {
                title: {
                    text: '商品数量展示',
                    subtext: '北京地区',
                    x: 'center'
                },
                tooltip: {
                    trigger: 'item',
                    formatter: "{a} <br/>{b} : {c} ({d}%)"
                },
                // legend: {
                //     orient: 'vertical',
                //     left: 'left',
                //     data: data.nameNumberList.goodsname
                // },
                series: [
                    {
                        name: '商品数量',
                        type: 'pie',
                        radius: '55%',
                        center: ['50%', '60%'],
                        data: data.nameNumberList,//json实体的list数据
                        itemStyle: {
                            emphasis: {
                                shadowBlur: 10,
                                shadowOffsetX: 0,
                                shadowColor: 'rgba(0, 0, 0, 0.5)'
                            }
                        }
                    }
                ]
            };
            // 使用刚指定的配置项和数据显示图表。
            myChart.setOption(option);
        }
    });
    /**
     */
</script>
</body>
</html>


目录
相关文章
|
5月前
|
Java
SpringBoot2+Mybatis两个数据源实现 (二)
SpringBoot2+Mybatis两个数据源实现 (二)
|
5月前
SpringMVC+Mybatis两个数据源实现(二)
SpringMVC+Mybatis两个数据源实现(二)
|
5月前
SpringMVC+Mybatis两个数据源实现(一)
SpringMVC+Mybatis两个数据源实现(一)
|
5月前
|
前端开发 Java 数据库连接
Spring Boot 3 整合 Mybatis-Plus 动态数据源实现多数据源切换
Spring Boot 3 整合 Mybatis-Plus 动态数据源实现多数据源切换
|
5月前
|
druid Java 关系型数据库
SpringBoot整合junit、整合Mybatis及使用Druid数据源
SpringBoot整合junit、整合Mybatis及使用Druid数据源
69 0
|
2月前
sharding-jdbc 兼容 MybatisPlus的动态数据源
【8月更文挑战第2天】要使 `Sharding-JDBC` 与 `MyBatisPlus` 的动态数据源兼容,需引入相关依赖,配置数据源及分库分表策略,并在 `MyBatisPlus` 中设置参数以协同工作。可能还需自定义代码处理数据源切换。示例代码框架展示整合方式,实际应用中需按具体业务场景详细配置并处理异常情况,如数据一致性问题。
126 1
|
5月前
|
SQL Java 数据库连接
深入源码:解密MyBatis数据源设计的精妙机制
深入源码:解密MyBatis数据源设计的精妙机制
85 1
深入源码:解密MyBatis数据源设计的精妙机制
|
5月前
|
Java 关系型数据库 MySQL
【mybatis-plus】自定义多数据源,动态切换数据源事务失效问题
【mybatis-plus】自定义多数据源,动态切换数据源事务失效问题
【mybatis-plus】自定义多数据源,动态切换数据源事务失效问题
|
5月前
|
存储 关系型数据库 MySQL
【mybatis-plus】Springboot+AOP+自定义注解实现多数据源操作(数据源信息存在数据库)
【mybatis-plus】Springboot+AOP+自定义注解实现多数据源操作(数据源信息存在数据库)
|
5月前
|
Java 数据库连接 数据库
【Spring技术专题】「实战开发系列」保姆级教你SpringBoot整合Mybatis框架实现多数据源的静态数据源和动态数据源配置落地
Mybatis是一个基于JDBC实现的,支持普通 SQL 查询、存储过程和高级映射的优秀持久层框架,去掉了几乎所有的 JDBC 代码和参数的手工设置以及对结果集的检索封装。 Mybatis主要思想是将程序中大量的 SQL 语句剥离出来,配置在配置文件中,以实现 SQL 的灵活配置。在所有 ORM 框架中都有一个非常重要的媒介——PO(持久化对象),PO 的作用就是完成持久化操作,通过该对象对数据库执行增删改的操作,以面向对象的方式操作数据库。
89 1
【Spring技术专题】「实战开发系列」保姆级教你SpringBoot整合Mybatis框架实现多数据源的静态数据源和动态数据源配置落地