[2025-05-27] 梳理基础工具说明,添加版本
All checks were successful
Publish to Confluence / confluence (push) Successful in 1m3s

This commit is contained in:
liuxiaohua 2025-05-27 11:33:04 +08:00
parent 9323cce6a5
commit 37f268e3bd
5 changed files with 227 additions and 3 deletions

View File

@ -3,7 +3,8 @@
<!-- Parent: 技术方案 -->
<!-- Parent: 基建 -->
<!-- Parent: 00-基础组件 -->
<!-- Title: 20250411-EngineStarterRedis使用指南 -->
<!-- Parent: 00-EngineStarterRedis使用指南 -->
<!-- Title: 20250411-engine-starter-redis-1.0.14 -->
<!-- Macro: :anchor\((.*)\):
Template: ac:anchor

View File

@ -0,0 +1,44 @@
<!-- Space: qifu -->
<!-- Parent: 后端技术&知识&规范 -->
<!-- Parent: 技术方案 -->
<!-- Parent: 基建 -->
<!-- Parent: 00-基础组件 -->
<!-- Parent: 00-EngineStarterSeata使用指南 -->
<!-- Title: 20250526-engine-starter-seata-1.0.14 -->
<!-- Macro: :anchor\((.*)\):
Template: ac:anchor
Anchor: ${1} -->
<!-- Macro: \!\[.*\]\((.+)\)\<\!\-\- width=(.*) \-\-\>
Template: ac:image
Url: ${1}
Width: ${2} -->
<!-- Macro: \<\!\-\- :toc: \-\-\>
Template: ac:toc
Printable: 'false'
MinLevel: 2
MaxLevel: 4 -->
<!-- Include: 杂项/声明文件.md -->
<!-- :toc: -->
# engine-starter-seata 使用教程
> 基于 seata 的通用封装
## 功能特性
- [X] 修复 RuntimeException 被重复包裹导致的问题
-------
## 快速使用
### 添加依赖
```xml
<dependency>
<groupId>com.yuanmeng.engine</groupId>
<artifactId>engine-starter-seata</artifactId>
</dependency>
```

View File

@ -3,7 +3,8 @@
<!-- Parent: 技术方案 -->
<!-- Parent: 基建 -->
<!-- Parent: 00-基础组件 -->
<!-- Title: 20250509-EngineStarterFeign使用指南 -->
<!-- Parent: 00-EngineStarterFeign使用指南 -->
<!-- Title: 20250509-engine-starter-feign-1.1.0 -->
<!-- Macro: :anchor\((.*)\):
Template: ac:anchor

View File

@ -3,7 +3,8 @@
<!-- Parent: 技术方案 -->
<!-- Parent: 基建 -->
<!-- Parent: 00-基础组件 -->
<!-- Title: 20250509-EngineStarterWeb使用指南 -->
<!-- Parent: 00-EngineStarterWeb使用指南 -->
<!-- Title: 20250509-engine-starter-web-1.1.0 -->
<!-- Macro: :anchor\((.*)\):
Template: ac:anchor

View File

@ -0,0 +1,177 @@
<!-- Space: qifu -->
<!-- Parent: 后端技术&知识&规范 -->
<!-- Parent: 技术方案 -->
<!-- Parent: 基建 -->
<!-- Parent: 00-基础组件 -->
<!-- Parent: 00-EngineStarterMybatisPlus使用指南 -->
<!-- Title: 20250526-engine-starter-mybatis-plus-2.0.0 -->
<!-- Macro: :anchor\((.*)\):
Template: ac:anchor
Anchor: ${1} -->
<!-- Macro: \!\[.*\]\((.+)\)\<\!\-\- width=(.*) \-\-\>
Template: ac:image
Url: ${1}
Width: ${2} -->
<!-- Macro: \<\!\-\- :toc: \-\-\>
Template: ac:toc
Printable: 'false'
MinLevel: 2
MaxLevel: 4 -->
<!-- Include: 杂项/声明文件.md -->
<!-- :toc: -->
# engine-starter-mybatis-plus 使用教程
> 基于 mybatis-plus 的各种工具封装
> 具体使用可参考 [engine-sample > engine-sample-starter-mybatis-plus](../engine-sample/engine-sample-starter-mybatis-plus)
## 功能特性
- [X] `YmMybatisPlusUtils`: MybatisPlus工具类
- [X] `YmBaseMapper`: Mapper扩展父类
- Mapper 添加删除操作源数据自动填充方法
- [X] `YmBaseService`: Service扩展父类
- [X] `YmBaseServiceImpl`: Service扩展父类实现
- [X] `YmJsonTypeHandler`: 字段处理合并
- 可以处理 `Map, JSONObject, JSONArray, List<JSONObject>, List<Integer>`, 其余的 Collection 对象需要实现继承该类,实现 `collectionType` 方法
- 内置 `YmLongListTypeHandler`
- 内置 `YmStringListTypeHandler`
- [X] `YmMetaObjectHandler`: 源数据填充
- `YmCreateEntity` 插入数据填充
- `YmUpdateEntity` 更新数据填充
- [X] `YmBaseEntity` 实体基类
- `YmTenantBaseEntity` 实体基类带tenantId
- [X] `YmTenantLineHandler`: tenantId 填充
-------
## 快速使用
- **注意:** `qifu-saas-parent >= 1.1.1-SNAPSHOT`
- **注意:** `pom.xml``engine-starter-mybatis-plus``data-mybatis-plus` 不兼容
- **注意:** 兼容 `engine-starter-mybatis-plus``data-mybatis-plus` 需要添加依赖 `engine-starter-compatible`
- **注意:** 启动类 `@ComponentScan` 需要变更为如下形式
- ```java
@ComponentScan(value = "com.yuanmeng.*",
excludeFilters = {
@ComponentScan.Filter(type = FilterType.CUSTOM, classes = TypeExcludeFilter.class),
@ComponentScan.Filter(type = FilterType.CUSTOM, classes = AutoConfigurationExcludeFilter.class)
})
@SpringBootApplication
public class SampleStarterWebApplication {
public static void main(String[] args) {
SpringApplication.run(SampleStarterWebApplication.class, args);
}
}
```
### 添加依赖
```xml
<dependency>
<groupId>com.yuanmeng.engine</groupId>
<artifactId>engine-starter-mybatis-plus</artifactId>
</dependency>
```
----
## 使用工具
### 开启插入时填充更新数据(默认关闭)
```yaml
yuanmeng:
mybatis-plus:
meta-inject:
enable: true
fill-update-on-insert: false
```
### 自定义List字段序列化反序列化
```java
public class YmUserInfoTypeHandler extends YmJsonTypeHandler {
public YmUserInfoTypeHandler(Class<?> type) {
super(type);
}
@Override
protected Class<?> collectionItemType() {
return UserInfo.class;
}
}
@Data
@EqualsAndHashCode(callSuper = false)
@TableName(value = "test_no_tenant_id_ignore", autoResultMap = true)
public class TestNoTenantIdIgnore extends YmBaseEntity<Long> {
@TableField(typeHandler = YmJsonTypeHandler.class)
private UserInfo customObject;
@TableField(typeHandler = YmJsonTypeHandler.class)
private JSONArray customJsonArray;
@TableField(typeHandler = YmUserInfoTypeHandler.class)
private List<UserInfo> customListObject;
@TableField(typeHandler = YmLongListTypeHandler.class)
private List<Long> customListIntObject;
}
```
### 开启雪花算法Id生成对默认基类不生效默认关闭
```yaml
yuanmeng:
mybatis-plus:
enable-identifier-generator: false
```
------
## 完整默认配置文件
```yaml
yuanmeng:
mybatis-plus:
#- 开启 starter-mybatis-plus。默认开启
enable: true
#- 开启 雪花id 生成。默认关闭
enable-identifier-generator: false
#- 开启父类增强扩展。默认开启
enable-sql-inject: true
#- 拦截器配置
interceptor:
#- 开启拦截器配置。默认开启
enable: true
#- 开启乐观锁。默认关闭
enable-optimistic-locker: false
#- 开启恶意sql拦截。默认开启
enable-block-attack: true
#- 开启分页处理。默认开启
enable-pagination: true
#- 多租户处理
tenant-line:
#- 开启全局多租户处理。默认开启
enable: true
#- 开启包含模式。默认排除模式
include-mode: false
#- 需要处理的表格
tenant-line-tables:
- test_no_tenant_id
#- 需要处理的表格前缀
tenant-line-prefix-tables:
- test_no
#- 源数据填充
meta-inject:
#- 开启源数据填充。默认开启
enable: true
#- 插入时填充更新数据。默认关闭
fill-update-on-insert: false
```