在当今的互联网领域,企业的数字转型显得非常重要,但是如何快速地构建一套高质量的系统呢?这是很多企业所面临的问题。基于这个问题,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快速开发平台的全面介绍,它的功能强大,社区广泛,使用人群众多。相信在未来的日子里,它将被越来越多的开发者所采用,为企业的数字化转型提供帮助。