# common-components
**Repository Path**: taoyuanx/common-components
## Basic Information
- **Project Name**: common-components
- **Description**: 1. 通用查询组件
2. 最简通用审计日志组件
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2026-04-01
- **Last Updated**: 2026-04-05
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# Common Components 项目文档
## 项目概述
Common Components 是一个 Java 后端通用组件库项目,提供两个核心功能模块:
1. **rest-common-search** - 通用条件搜索组件
2. **common-audit-log** - 审计日志组件
### 技术栈
- **语言**: Java 8
- **构建工具**: Maven
- **框架**: Spring Boot 2.7.18
- **ORM**: MyBatis-Plus 3.5.9
- **数据库**: MySQL, SQLite, H2
- **其他依赖**:
- Lombok
- Apache Commons (Collections4, Lang3)
- Guava
- FastJSON2
- Graceful Response (统一返回值)
## 模块结构
### 1. rest-common-search (通用搜索组件)
提供统一的搜索协议,支持前后端通用的搜索条件定义,支持分页和列表条件搜索。
通用搜索组件
**核心功能**:
- 通用搜索 DTO → 搜索 VO 转换
- 通用搜索 DTO → SQL 转换
- 完善的安全控制(校验列名称和 SQL 参数合法性)
**关键类**:
- `SearchCondition` - 搜索条件定义
- `PageRequest` - 分页请求封装
- `SearchConditionBeanUtil` - 搜索条件转换为 Bean
- `SearchConditionSqlUtil` - 搜索条件转换为 SQL
- `SqlCheckUtil` - SQL 安全校验
**支持的查询操作**:
- EQUAL, LIKE, LEFT_LIKE, RIGHT_LIKE
- IN, NOT_IN
- BETWEEN_AND
- 复合条件(AND/OR 组合)
### 2. common-audit-log (审计日志组件)
审计日志组件
基于 AOP 的审计日志组件,支持操作日志的自动收集、差异比对和存储。
**子模块**:
- `common-audit-log-core` - 核心功能(AOP、注解、差异比对)
- `common-audit-log-runtime` - 运行时配置和实现
- `common-audit-log-web` - Web 应用示例和演示
**核心注解**:
- `@OperateLog` - 操作日志注解,支持 SpEL 表达式
- `@SimpleOperateLog` - 简化版操作日志注解
- `@LogDiff` - 数据差异比对注解
**特性**:
- **注解驱动**:通过简单的注解即可实现日志记录
- **SpEL 表达式支持**:动态填充日志操作描述,操作分类,操作数据id等信息
- **差异比对**:支持操作前后数据差异自动比对
- **支持多层级嵌套调用日志**:支持多层级嵌套调用日志
- **条件性记录**:支持根据条件决定是否记录日志
- **异步收集**:支持异步日志收集,不影响主业务性能
- **配套查询系统(可选)**: 支持多维条件查询日志,开箱即用
**支持的数据库**:
- SQLite (默认)
- MySQL
- H2