前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【SpringBoot教程】开发提效工具Lombok引入 Mybatis-plus-generator代码自动生成工具

【SpringBoot教程】开发提效工具Lombok引入 Mybatis-plus-generator代码自动生成工具

作者头像
大数据小禅
发布于 2023-05-27 08:18:19
发布于 2023-05-27 08:18:19
1.2K00
代码可运行
举报
文章被收录于专栏:YO大数据YO大数据
运行总次数:0
代码可运行

什么是lombok

  • 一个优秀的Java代码库,简化了Java的编码,为Java代码的精简提供了一种方式
  • 你是否发现每个JavaBean都会写getter,setter,equals,hashCode和toString的模板代码,特别的多于没技术
  • lombok消除Java的冗长代码,尤其是对于简单的Java对象,只要加上注解就行
使用方式
  • 顶层parent项目添加依赖进行版本管理 ( 如果是微服务项目可在顶层进行依赖统一管理,单体项目则直接依赖引入即可 )
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<dependency>
          <groupId>org.projectlombok</groupId>
          <artifactId>lombok</artifactId>
			    <version>1.18.16</version>
         
          <scope>provided</scope>
</dependency>
  • 需要的module项目里面再引入
  • 添加IDE工具对Lombok的支持
    • 点击File-- Settings设置界面,安装Lombok插件,然后重启idea
  • 项目中添加(通用项目在common添加,单体项目可直接添加)
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<!--common引入-->
<dependency>
           <groupId>org.projectlombok</groupId>
           <artifactId>lombok</artifactId>
</dependency>
<!--其他微服务引入common->
<dependency>
     <groupId>net.xiaochan</groupId>
     <artifactId>xicoahan-common</artifactId>
     <version>1.0-SNAPSHOT</version>
</dependency>


<!--如果是单体项目不是微服务项目,则直接添加即可-->
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <version>1.18.16</version>
    </dependency>
Lombok常用注解

常见注解

  • @Getter/@Setter
    • 作用类上,生成所有成员变量的getter/setter方法
    • 作用于成员变量上,生成该成员变量的getter/setter方法
  • @ToString
    • 作用于类,覆盖默认的toString()方法
  • @EqualsAndHashCode
    • 作用于类,覆盖默认的equals和hashCode
  • @NoArgsConstructor
    • 生成无参构造器
  • @AllArgsConstructor
    • 生成全参构造器
  • @Data
    • 作用于类上,是以下注解的集合
      • @ToString
      • @EqualsAndHashCode
      • @Getter
      • @Setter
      • @RequiredArgsConstructor
  • @Log / @Slf4j
    • 作用于类上,生成日志变量, 用于记录日志, 已经在web项目中添加log依赖
    • 如果不生效,记得检查下面的配置,另外重新更新下lombok插件,重启idea
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
使用方法  在类上注释 @Slf4j
log.info{}
增强版ORM框架-Mybatis plus
  • 背景
  • 写一个数据库表的crud接口,编写实体类-》编写Controller-》编写Service-》编写DAO-》-》编写XML文件
  • 特别是管理后台,多数都是简单的CRUD,用普通的mybatis有的鸡肋
  • 介绍
  • 官网 https://baomidou.com/
  • 是一个 Mybatis 的增强工具,在 Mybatis 的基础上只做增强不做改变,为简化开发、提高效率而生
  • 是怎么增强的呢?已经封装好了一些crud方法,我们不需要再写xml了,直接调用这些方法就行,类似JPA但优于JPA
  • 依赖引入
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<dependencies>
    <!-- Spring Boot Starter -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter</artifactId>
    </dependency>

    <!-- Mybatis Plus -->
    <dependency>
        <groupId>com.baomidou</groupId>
        <artifactId>mybatis-plus-boot-starter</artifactId>
        <version>3.x.x</version><!-- 使用最新版本,根据你的需求替换x为具体版本号 例如 3.4.0  -->
    </dependency>

    <!-- MySQL Connector -->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <scope>runtime</scope>
    </dependency>

    <!-- 其他依赖... -->

</dependencies>
  • 注意点 MyBatis-Plus默认遵循数据库字段使用下划线命名、Java实体类属性使用驼峰命名的约定。在执行SQL查询时,MyBatis-Plus会自动将Java实体类属性的驼峰命名转换为对应的数据库字段的下划线命名。
整体依赖参考
  • 这里提供一个完整从maven依赖可供项目构建版本参考
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>org.example</groupId>
    <artifactId>gpt-test</artifactId>
    <version>1.0-SNAPSHOT</version>


    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
    </properties>

    <parent>
        <artifactId>spring-boot-starter-parent</artifactId>
        <groupId>org.springframework.boot</groupId>
        <version>2.5.3</version>
    </parent>

    <dependencies>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
        </dependency>

        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>

        <!-- https://mvnrepository.com/artifact/org.apache.httpcomponents.client5/httpclient5 -->
        <dependency>
            <groupId>org.apache.httpcomponents.client5</groupId>
            <artifactId>httpclient5</artifactId>
            <version>5.2.1</version>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.16</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>

        <!--mybatis plus和springboot整合-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.4.1</version>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-resources-plugin</artifactId>
                <version>3.1.0</version>
                <configuration>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <!--  指定该Main Class为全局的唯一入口 -->
                    <mainClass>com.yopai.App</mainClass>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal><!--可以把依赖的包都打包到生成的Jar包中-->
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
</project>
Mybatis-plus-generator代码自动生成工具

Mybatis-plus-generator(Mybatis-Plus 代码生成器)是 Mybatis-Plus 的一个子模块,作用是根据数据库表结构自动生成对应的实体类、Mapper接口、Mapper映射文件和Service接口等代码。它大大简化了开发者的工作量,提高了开发效率。

以下是关于 Mybatis-plus-generator 的一些介绍

  1. 自动生成代码:根据数据库表结构快速生成实体类、Mapper 接口、XML 映射文件以及 Service 接口等相关代码,减少手动编写重复性代码的工作。
  2. 自定义配置:Mybatis-plus-generator 支持自定义配置,例如包名、类名前缀/后缀、父类等。这样可以按照项目需求生成符合规范的代码。
  3. 模板引擎支持:内置 Velocity 和 Freemarker 两种模板引擎,可根据个人喜好选择使用哪种模板引擎来生成代码。4
  4. 插件扩展机制:Mybatis-plus-generator 提供了插件扩展机制,允许开发者编写自定义插件来扩展或修改生成器的功能。
  5. 简单易用:Mybatis-plus-generator 使用简单,只需在项目中添加依赖并进行简单配置即可使用。同时也提供了 Maven 插件和命令行方式来运行生成器。
Mybatis-plus-generator依赖引入
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-generator</artifactId>
            <version>3.4.1</version>
        </dependency>
        <!-- velocity -->
        <dependency>
            <groupId>org.apache.velocity</groupId>
            <artifactId>velocity-engine-core</artifactId>
            <version>2.0</version>
        </dependency>
  • application.properties配置
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
server.port=3008
spring.datasource.driver-class-name =com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/xxx?useUnicode=true&characterEncoding=utf-8&useSSL=false
spring.datasource.username =root
spring.datasource.password =xxxx
Mybatis-plus-generator使用流程
  • 数据库表内容示例 使用user库 下面有两个表 对应的数据格式如下 可在测试类里面进行生成
  • 模板生成代码示例
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public class MyBatisPlusGenerator {

    public static void main(String[] args) {
        //1. 全局配置
        GlobalConfig config = new GlobalConfig();
        // 是否支持AR模式
        config.setActiveRecord(true)
                // 作者
                .setAuthor("xiaochan")
                // 生成路径,最好使用绝对路径,window路径是不一样的 这里方便自己粘贴复制 所以不直接生成在项目文件
                .setOutputDir("C:/Users/MI/Desktop/demo/src/main/java")
                // 文件覆盖
                .setFileOverride(true)
                // 主键策略
                .setIdType(IdType.AUTO)

                .setDateType(DateType.ONLY_DATE)
                // 设置生成的service接口的名字的首字母是否为I,默认Service是以I开头的
                .setServiceName("%sService")

                //实体类结尾名称
                .setEntityName("%sDO")

                //生成基本的resultMap
                .setBaseResultMap(true)

                //不使用AR模式
                .setActiveRecord(false)

                //生成基本的SQL片段
                .setBaseColumnList(true);

        //2. 数据源配置
        DataSourceConfig dsConfig = new DataSourceConfig();
        // 设置数据库类型
        dsConfig.setDbType(DbType.MYSQL)
                .setDriverName("com.mysql.cj.jdbc.Driver")
                //TODO  TODO  TODO  TODO
                .setUrl("jdbc:mysql://127.0.0.1:3306/user?useSSL=false&serverTimezone=UTC")
                .setUsername("用户名")
                .setPassword("密码");

        //3. 策略配置globalConfiguration中
        StrategyConfig stConfig = new StrategyConfig();

        //全局大写命名
        stConfig.setCapitalMode(true)
                // 数据库表映射到实体的命名策略
                .setNaming(NamingStrategy.underline_to_camel)

                //使用lombok
                .setEntityLombokModel(true)

                //使用restcontroller注解
                .setRestControllerStyle(true)

                // 生成的表, 支持多表一起生成,以数组形式填写
                .setInclude("user","address");

        //4. 包名策略配置
        PackageConfig pkConfig = new PackageConfig();
        pkConfig.setParent("net.xiaochan")
                .setMapper("mapper")
                .setService("service")
                .setController("controller")
                .setEntity("model")
                .setXml("mapper");

        //5. 整合配置
        AutoGenerator ag = new AutoGenerator();
        ag.setGlobalConfig(config)
                .setDataSource(dsConfig)
                .setStrategy(stConfig)
                .setPackageInfo(pkConfig);

        //6. 执行操作
        ag.execute();
        System.out.println("=======Done 相关代码生成完毕  ========");
    }
}
  • 运行结果 可以看到对应生成的模板内容 有controller mapper model 跟impl 这里复制自己需要的内容进项目即可
  • 每个文件的代码内容如下
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@RestController
@RequestMapping("/addressDO")
public class AddressController {

}
@RestController
@RequestMapping("/userDO")
public class UserController {

}
public interface AddressMapper extends BaseMapper<AddressDO> {

}
public interface UserMapper extends BaseMapper<UserDO> {

}
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("address")
public class AddressDO implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 用户id
     */
    private Long userId;

    /**
     * 是否默认收货地址:0->否;1->是
     */
    private Integer defaultStatus;

    /**
     * 收发货人姓名
     */
    private String receiveName;

    /**
     * 收货人电话
     */
    private String phone;

    /**
     * 省/直辖市
     */
    private String province;

    /**
     * 市
     */
    private String city;

    /**
     * 区
     */
    private String region;

    /**
     * 详细地址
     */
    private String detailAddress;

    private Date createTime;


}
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("user")
public class UserDO implements Serializable {

    private static final long serialVersionUID = 1L;

      @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 昵称
     */
    private String name;

    /**
     * 密码
     */
    private String pwd;

    /**
     * 头像
     */
    private String headImg;

    /**
     * 用户签名
     */
    private String slogan;

    /**
     * 0表示女,1表示男
     */
    private Integer sex;

    /**
     * 积分
     */
    private Integer points;

    private Date createTime;

    /**
     * 邮箱
     */
    private String mail;

    /**
     * 盐,用于个人敏感信息处理
     */
    private String secret;


}
<mapper namespace="net.xdclass.mapper.UserMapper">

    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="net.xdclass.model.UserDO">
        <id column="id" property="id" />
        <result column="name" property="name" />
        <result column="pwd" property="pwd" />
        <result column="head_img" property="headImg" />
        <result column="slogan" property="slogan" />
        <result column="sex" property="sex" />
        <result column="points" property="points" />
        <result column="create_time" property="createTime" />
        <result column="mail" property="mail" />
        <result column="secret" property="secret" />
    </resultMap>

    <!-- 通用查询结果列 -->
    <sql id="Base_Column_List">
        id, name, pwd, head_img, slogan, sex, points, create_time, mail, secret
    </sql>

</mapper>
    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="net.xdclass.model.AddressDO">
        <id column="id" property="id" />
        <result column="user_id" property="userId" />
        <result column="default_status" property="defaultStatus" />
        <result column="receive_name" property="receiveName" />
        <result column="phone" property="phone" />
        <result column="province" property="province" />
        <result column="city" property="city" />
        <result column="region" property="region" />
        <result column="detail_address" property="detailAddress" />
        <result column="create_time" property="createTime" />
    </resultMap>

    <!-- 通用查询结果列 -->
    <sql id="Base_Column_List">
        id, user_id, default_status, receive_name, phone, province, city, region, detail_address, create_time
    </sql>

</mapper>
  • 到这里 代码提效工具 模板生成工具配置演示完成
  • 项目中通过使用这些工具可以减少许多耗费时间的操作
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-05-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
现在啥软件都有开源,BI 呢?
开源现在很流行,从系统级到应用层面,都有各类开源软件供开发者使用,比如 Linux Android Mysql PostgreSQL Hadoop Apache Tamcat Birt 等,在国内都很流行
用户11425834
2025/03/08
1300
数据可视化的开源方案: Superset vs Redash vs Metabase (一)
人是视觉动物,要用数据把一个故事讲活,图表是必不可少的。如果你经常看到做数据分析同事,在SQL客户端里执行完查询,把结果复制/粘贴到 Excel 里再做成图表,那说明你的公司缺少一个可靠的数据可视化平台。数据可视化是 Business Intelligence(BI)中的核心功能,有许多成熟的商用解决方案,如老牌的 Tableau,Qilk,新生代的 Looker,国内的 FineBI 等等。不过对于许多小公司来说,这些服务的 License 费用是一笔不小的开销,且有一种“杀鸡用牛刀”的感觉。
流川疯
2019/06/15
2.9K0
拒绝天价BI!中小企业私藏的5款低成本报表工具
数据信息化的应用项目中,大都会有报表需求,也通常都要用到报表工具,市面上相关的产品有很多,报表工具,BI 自助报表,大屏可视化,都和报表有关,但是价格都高的离谱。今天,我们一起盘点5款适合中小企业的低成本报表软件,总有一款适合你:
用户11425834
2025/03/24
1520
5款开源BI工具优缺点及介绍
在为公司进行大数据BI工具的选型时,尤其是在起步阶段,开源选项可以提供较低的入门成本和较高的灵活性。针对几种流行的开源BI报表展示工具,以及它们的优缺点,谈一下自己的看法。
Jimaks
2024/05/15
6.4K1
5款开源BI工具优缺点及介绍
11k+ Star 一款更适合中国用户的开源 BI 工具
在当今数字化时代,数据分析和可视化成为企业决策和发展的重要支撑,很多 BI 工具昂贵的许可费用,让许多中小型企业用户和个人用户望而却步,开源 BI 工具的出现,让其成为很多用户进行数据分析展示的首选。目前市面上主流的开源 BI 产品,例如 Metabase 和 Superset,都是由国外的开发者开发的,这导致国内用户上手的时候都觉得不适应。
HelloGitHub
2023/08/19
5.4K0
11k+ Star 一款更适合中国用户的开源 BI 工具
大数据最后一公里——2021年五大开源数据可视化BI方案对比
个人非常喜欢这种说法,最后一公里不是说目标全部达成,而是把整个路程从头到尾走了一遍。
用户6070864
2021/09/24
4.1K0
报表工具哪个好?2025年中小企业必备的6款高性价比方案
数字化转型浪潮下,76%的中小企业因报表工具“用不起、做不好、改不动”陷入数据困局。面对动辄数十多万的BI采购成本,2025年的突围关键在于“低成本专业级工具”。本文严选6款投入产出比超高的报表解决方案,多源数据整合、可视化大屏等核心需求,帮助企业在预算缩减期用10%的成本实现300%的报表效能提升。
用户11425834
2025/05/19
1410
国内市场上的BI软件,到底有啥区别
我们知道,BI的终极目标是做数据分析,这些花哨的可视化效果也是要为数据分析服务的,那么,从数据角度上看,这些BI有多大区别呢?
石臻臻的杂货铺[同名公众号]
2022/06/27
2870
国内市场上的BI软件,到底有啥区别
闲聊数据可视化平台 Apache Superset
Apache Superset(以下简称 superset)和 Apache Airflow 一样都是租房网站 airbnb 开源的,而且现在的主力开发者也是同一个人- mistercrunch (画外音:两个 Apache 项目的主要贡献者也是够强的了)。Apache Superset 于 2015 年 6 月开源,活跃度极高,基本每天都有新的特性诞生或者 bug 被修复,可惜的是与 Apache Airflow 今年毕业成为顶级项目不同,superset 依旧在孵化当中。当然孵化不代表不可用,superset 在国内外都有着广泛的应用。从 Github 首页上面可以发现使用 superset 的国内比较知名的互联网公司有:bilibili、Douban、Kuaishou、Qunar 等等,国外的更多了。因此 superset 质量是有保证的。
哒呵呵
2020/02/11
3.1K0
Redash调研
俗话说“工欲善其事必先利其器”,今天跟大家一起交流一款简单易用的数据查询和可视化分析的开源BI工具Redash。
万能数据的小草
2020/02/19
3K0
数据可视化的开源方案: Superset vs Redash vs Metabase (二)
接上篇(数据可视化的开源方案: Superset vs Redash vs Metabase (一))。本篇从项目关注度与活跃度,项目的技术架构,源代码的规模与质量三个方面对Superset,Redash 与 Metabase进行比较。
物流IT圈
2019/07/16
5.8K0
数据可视化的开源方案: Superset vs Redash vs Metabase (二)
从探索式数据分析到现代 BI 仪表盘:Superset 2.0
大数据流动:大数据、实时计算、数据治理,数据可视化实践类自媒体。定期发布数据治理,元数据管理落地技术实践文章,分享数据治理实践落地相关技术与资料。
用户6070864
2023/03/24
2.4K0
从探索式数据分析到现代 BI 仪表盘:Superset 2.0
构建企业级监控平台系列(二十七):Grafana 基础入门与部署
Grafana 是一跨平台的开源的可视化分析工具。目前网络架构和应用分析中最流行的时序数据展示工具,主要用于大规模指标数据的可视化展示。
民工哥
2023/11/06
3.1K0
构建企业级监控平台系列(二十七):Grafana 基础入门与部署
看完这篇,成为Grafana高手!
‍ 点个关注👆跟腾讯工程师学技术 背景 QQ直播前端团队接入腾讯云前端性能监控(RUM)后,对目前的监控能力以及上报数据进行了梳理, 并着手进行了前端性能监控的专项建设,其中监控数据大盘建设是不可或缺的一环。 可视化的监控大盘可以清晰明了的观察到各项目运行情况,宏观上能快速进行项目间的横向对比,也可以非常便捷的进行项目各数据维度的详细展示,纵向的分析各指标数据的统计。 通过对数据大盘支持能力的调研,我们采用Grafana进行了数据大盘的建设。通过搭建Grafana服务,然后添加监控上报数据,最终使得【
腾讯云开发者
2022/11/04
6.5K0
看完这篇,成为Grafana高手!
啥都有开源,报表工具呢?
确实是大部分软件都有开源的,从系统到数据库到各类工具、应用,都有开源,而且开源的东西大都比较流行,拥趸众多
Java团长
2022/12/20
1.2K0
啥都有开源,报表工具呢?
可视化前端
为了查询数据,我们需要开发相应的页面,不仅要写前端,还要写查询的逻辑。现在有很多开源工具可供选择,以省去自己开发前端的工作。我们只需要将数据导入存储系统,如MySQL、Druid、Kylin,通过这些开源工具,可以快速地进行数据分析、配置dashboard
jiewuyou
2022/09/29
5440
魅族大数据可视化平台建设之路
大数据可视化的解决方案,与普遍意义理解的数据可视化不同,其面临的问题又分两个不同的层面:一是数据层;二是可视化层。
钱曙光
2019/07/02
1.3K0
魅族大数据可视化平台建设之路
Python开源BI工具Superset的简单搭建与初级使用
Superset 是一款由 Airbnb 开源的“现代化的企业级 BI(商业智能) Web 应用程序”,其通过创建和分享 dashboard(看板),为数据分析提供了轻量级的数据查询与可视化方案。
可以叫我才哥
2021/08/05
1.8K0
如何用开源bi,打造自己的轻量级bi系统
对于程序员来说,开源的东西都是好的,别的不说,因为可以自己自己随意开发,毕竟每个人都喜欢自己写的代码嘛,也或者,就是不想花钱哈哈哈哈(扎心了)
数据分析的那些事儿
2019/12/11
5.3K0
数据可视化之美—BI
BI 并不仅仅只是一个分析软件,而是一套完整的数据分析解决方案:它将不同数据源(如 ERP、CRM、OA、HIS、EXC 等数据文件)的数据,在整合清洗——保证数据准确性后,进行针对性的数据分析和处理,最终为企业提供报表展现与可视化图表分析,从而为企业提供决策支持。
代码医生工作室
2020/05/15
1.6K0
数据可视化之美—BI
推荐阅读
相关推荐
现在啥软件都有开源,BI 呢?
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档