支持添加数据变更日志
This commit is contained in:
61
README.md
61
README.md
@@ -128,6 +128,7 @@
|
||||
### 2. 在 `mybatis.generator.xml` 中配置插件
|
||||
|
||||
```xml
|
||||
|
||||
<context id="Mysql" targetRuntime="MyBatis3">
|
||||
<!-- 配置属性 -->
|
||||
<property name="targetProject" value="src/main/java"/>
|
||||
@@ -135,10 +136,13 @@
|
||||
<property name="mapperPackage" value="com.iqudoo.platform.application.database.mapper"/>
|
||||
<property name="facadeRepositoryPackage" value="com.iqudoo.platform.application.facade.repository"/>
|
||||
<property name="domainRepositoryPackage" value="com.iqudoo.platform.application.domain.repository"/>
|
||||
<property name="facadeRepoviewPackage" value="com.iqudoo.platform.application.facade.repoview"/>
|
||||
<property name="domainRepoviewPackage" value="com.iqudoo.platform.application.domain.repoview"/>
|
||||
<property name="snowflakeUtilClass" value="com.iqudoo.framework.tape.modules.utils.SnowflakeUtil"/>
|
||||
<property name="snowflakeUtilGenId" value="SnowflakeUtil.nextId()"/>
|
||||
<property name="facadeViewRepositoryPackage" value="com.iqudoo.platform.application.facade.repoview"/>
|
||||
<property name="domainViewRepositoryPackage" value="com.iqudoo.platform.application.domain.repoview"/>
|
||||
<property name="guidGeneratorClass" value="com.iqudoo.framework.tape.modules.utils.SnowflakeUtil"/>
|
||||
<property name="guidGeneratorCode" value="SnowflakeUtil.nextId()"/>
|
||||
<property name="changeLogContextClassPackage" value="com.iqudoo.platform.application.domain.changeLog"/>
|
||||
<property name="changeLogContextClassName" value="ChangeLogContext"/>
|
||||
<property name="changeLogEnable" value="true"/>
|
||||
<property name="slowQueryLoggerTime" value="300"/>
|
||||
<property name="slowQueryLoggerLevel" value="error"/>
|
||||
<property name="priorityPrimaryKeyOffset" value="100"/>
|
||||
@@ -157,22 +161,41 @@
|
||||
|
||||
### 3. 配置参数说明
|
||||
|
||||
| 参数名 | 说明 | 默认值 | 必需 |
|
||||
|----------------------------|-------------------------------|-------------------------------------------------------|------|
|
||||
| `targetProject` | 生成代码的目标项目路径 | `src/main/java` | 否 |
|
||||
| `modelPackage` | Model 类的包路径 | `com.iqudoo.platform.application.database.model` | 是 |
|
||||
| `mapperPackage` | Mapper 接口的包路径 | `com.iqudoo.platform.application.database.mapper` | 是 |
|
||||
| `facadeRepositoryPackage` | Repository 接口的包路径 | `com.iqudoo.platform.application.facade.repository` | 否 |
|
||||
| `domainRepositoryPackage` | Repository 实现类的包路径 | `com.iqudoo.platform.application.domain.repository` | 否 |
|
||||
| `facadeRepoviewPackage` | RepoView 接口的包路径 | `com.iqudoo.platform.application.facade.repoview` | 否 |
|
||||
| 参数名 | 说明 | 默认值 | 必需 |
|
||||
|----------------------------|-------------------------------|---------------------------------------------------------|------|
|
||||
| `targetProject` | 生成代码的目标项目路径 | `src/main/java` | 否 |
|
||||
| `modelPackage` | Model 类的包路径 | `com.iqudoo.platform.application.database.model` | 是 |
|
||||
| `mapperPackage` | Mapper 接口的包路径 | `com.iqudoo.platform.application.database.mapper` | 是 |
|
||||
| `facadeRepositoryPackage` | Repository 接口的包路径 | `com.iqudoo.platform.application.facade.repository` | 否 |
|
||||
| `domainRepositoryPackage` | Repository 实现类的包路径 | `com.iqudoo.platform.application.domain.repository` | 否 |
|
||||
| `facadeRepoviewPackage` | RepoView 接口的包路径 | `com.iqudoo.platform.application.facade.repoview` | 否 |
|
||||
| `snowflakeUtilClass` | 雪花算法ID生成工具类 | `com.iqudoo.framework.tape.modules.utils.SnowflakeUtil` | 否 |
|
||||
| `snowflakeUtilGenId` | 雪花算法ID生成方法 | `SnowflakeUtil.nextId()` | 否 |
|
||||
| `slowQueryLoggerTime` | 慢查询日志时间阈值 | `300` | 否 |
|
||||
| `slowQueryLoggerLevel` | 慢查询日志类型:error,warn,debug,info | `error` | 否 |
|
||||
| `priorityPrimaryKeyOffset` | 优先查询主键偏移阈值 | `0` | 否 |
|
||||
| `ignorePageSize` | 忽略分页阈值 | `10000` | 否 |
|
||||
| `startPageNum` | 分页开始页码 | `1` | 否 |
|
||||
| `maxPageSize` | 最大每页数量 | `100` | 否 |
|
||||
| `snowflakeUtilGenId` | 雪花算法ID生成方法 | `SnowflakeUtil.nextId()` | 否 |
|
||||
| `changeLogContextClassPackage` | 变更日志上下文包路径 | `com.iqudoo.platform.application.domain.changeLog` | 否 |
|
||||
| `changeLogContextClassName` | 变更日志上下文类 | `ChangeLogContext` | 否 |
|
||||
| `changeLogEnable` | 变更日志监听开关 | `false` | 否 |
|
||||
| `slowQueryLoggerTime` | 慢查询日志时间阈值 | `300` | 否 |
|
||||
| `slowQueryLoggerLevel` | 慢查询日志类型:error,warn,debug,info | `error` | 否 |
|
||||
| `priorityPrimaryKeyOffset` | 优先查询主键偏移阈值 | `0` | 否 |
|
||||
| `ignorePageSize` | 忽略分页阈值 | `10000` | 否 |
|
||||
| `startPageNum` | 分页开始页码 | `1` | 否 |
|
||||
| `maxPageSize` | 最大每页数量 | `100` | 否 |
|
||||
|
||||
## 变更日志监听
|
||||
|
||||
ChangeLogContext应该提供以下实现的静态方法,供Repository实现中调用
|
||||
```java
|
||||
public class ChangeLogContext {
|
||||
|
||||
/**
|
||||
* 添加一条变更
|
||||
*/
|
||||
public static void addLog(String tableName, String eventType, Long dataGuid, Map<String, Object[]> fieldChanges) {
|
||||
// your thing code
|
||||
}
|
||||
|
||||
}
|
||||
```
|
||||
|
||||
## 数据库表结构要求
|
||||
|
||||
|
||||
Reference in New Issue
Block a user