您的位置:

pigx快速开发平台全方位详解

在当今的互联网领域,企业的数字转型显得非常重要,但是如何快速地构建一套高质量的系统呢?这是很多企业所面临的问题。基于这个问题,pigx快速开发平台应运而生。本文将从多个方面详细介绍pigx快速开发平台,包括它所提供的特性、优势与使用前景等。

一、基于Spring Cloud的微服务体系架构

pigx快速开发平台采用了基于Spring Cloud的微服务体系架构,它使应用服务化,将每一个应用拆分成小的可独立部署、可独立升级、可独立伸缩的模块。这样可以使应用更容易被维护和扩展。

在实际开发中,我们可以使用pigx快速开发平台提供的服务架构来构建自己的微服务系统,架构的基础设施已经帮我们做好了配置管理、服务注册、服务发现、服务负载均衡、服务熔断等各项工作。

下面是一个简单的调用微服务A的示例:

<dependency>
   <groupId>org.springframework.cloud</groupId>
   <artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>

@FeignClient("service-a")
public interface ServiceA {
    @RequestMapping("/hello")
    String hello();
}

@RestController
public class ServiceBController {

    @Autowired
    private ServiceA serviceA;

    @GetMapping("/hello")
    public String hello(){
        return "ServiceA says: " + serviceA.hello();
    }
}

二、代码生成、权限管理、SQL监控等功能丰富

1、代码生成模块

代码生成模块是pigx快速开发平台的核心功能之一。它能够自动生成针对数据库中各个表的Controller、Service、Mapper、DO、DTO、Query等常用代码,让开发人员更加专注于业务实现。

我们只需要通过界面设置相应的参数,即可生成指定表的代码,如下图所示:

<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-generator</artifactId>
    <version>3.3.2</version>
</dependency>

public class CodeGenerator {

    public static void main(String[] args) {

        // 数据源配置
        DataSourceConfig dataSourceConfig = new DataSourceConfig();
        dataSourceConfig.setDbType(DbType.MYSQL);
        dataSourceConfig.setUrl("jdbc:mysql://localhost:3306/pig");
        dataSourceConfig.setUsername("root");
        dataSourceConfig.setPassword("123456");
        dataSourceConfig.setDriverName("com.mysql.jdbc.Driver");
        dataSourceConfig.setTypeConvert(new MySqlTypeConvert());

        // 全局配置
        GlobalConfig globalConfig = new GlobalConfig();
        globalConfig.setOutputDir("D:\\pigx");
        globalConfig.setAuthor("wangyk");
        globalConfig.setOpen(false);
        globalConfig.setSwagger2(false);
        globalConfig.setBaseResultMap(true);
        globalConfig.setBaseColumnList(true);
        globalConfig.setFileOverride(true);

        // 包配置
        PackageConfig packageConfig = new PackageConfig();
        packageConfig.setParent("com.pig1et");
        packageConfig.setModuleName("system");

        ...

        AutoGenerator autoGenerator = new AutoGenerator();
        autoGenerator.setDataSource(dataSourceConfig);
        autoGenerator.setGlobalConfig(globalConfig);
        autoGenerator.setPackageInfo(packageConfig);

        // 生成策略配置
        StrategyConfig strategyConfig = new StrategyConfig();
        strategyConfig.setNaming(NamingStrategy.underline_to_camel);
        strategyConfig.setColumnNaming(NamingStrategy.underline_to_camel);
        strategyConfig.setEntityLombokModel(true);
        strategyConfig.setRestControllerStyle(true);
        strategyConfig.setControllerMappingHyphenStyle(true);

        strategyConfig.setInclude("sys_user");

        autoGenerator.setStrategy(strategyConfig);

        autoGenerator.execute();
    }
}

2、权限管理模块

权限管理模块是pigx快速开发平台的另一重要功能。它可以帮助企业快速构建权限管理系统。我们可以通过角色、部门等设置访问权限、修改权限等等,同时对每个操作都可以进行日志记录,非常方便实用。

下面是一个简单的角色授权的示例:

@PostMapping("/grant")
public Result grant(@RequestParam("roleId") Long roleId,
                    @RequestParam(value = "menuIds", required = false) Long[] menuIds,
                    @RequestParam(value = "dataScopeIds", required = false) Long[] dataScopeIds){
    Role role = roleService.getById(roleId);
    if(role == null){
        return Result.fail("该角色不存在!");
    }

    roleMenuService.deleteByRoleId(roleId);
    if(menuIds != null && menuIds.length > 0){
        List
    roleMenus = Arrays.stream(menuIds).map(menuId -> new RoleMenu(roleId, menuId)).collect(Collectors.toList());
        roleMenuService.saveBatch(roleMenus);
    }

    roleDataService.deleteByRoleId(roleId);
    if(dataScopeIds != null && dataScopeIds.length > 0){
        List
     roleDataScopes = Arrays.stream(dataScopeIds).map(dataScopeId -> new RoleDataScope(roleId, dataScopeId)).collect(Collectors.toList());
        roleDataService.saveBatch(roleDataScopes);
    }

    return Result.success();
}
    
   

3、SQL监控模块

SQL监控是pigx快速开发平台的又一重要功能。它可以对后端应用的SQL语句进行监控,同时提供慢查询报表功能,便于开发人员对应用的性能进行优化。

下面是一个简单的SQL监控的示例:

SELECT
    sql_text AS SQL,
    COUNT(1) AS `执行次数`,
    ROUND(SUM(rows_sent) / SUM(executions), 2) AS `平均每次执行行数`,
    ROUND(SUM(query_time) / SUM(executions), 2) AS `平均每次执行时间(ms)`
FROM
    performance_schema.events_statements_summary_by_digest
WHERE
    schema_name = 'pig'
GROUP BY
    digest, sql_text
HAVING
    COUNT(1) > 10
ORDER BY
    `执行次数` DESC

三、使用前景

pigx快速开发平台是一个功能强大、易于使用的框架,它可以协助企业快速构建高质量的系统,并提供一系列管理工具,方便企业日常维护。它应用广泛,可以用于各种类型的应用,比如管理系统、电商平台、物流系统、金融系统等。

随着企业数字化转型的深入发展,pigx快速开发平台有着广阔的应用前景,可以满足企业对于高质量、高效率的业务系统的需求。

以上是对pigx快速开发平台的全面介绍,它的功能强大,社区广泛,使用人群众多。相信在未来的日子里,它将被越来越多的开发者所采用,为企业的数字化转型提供帮助。