# common **Repository Path**: pigletO/common ## Basic Information - **Project Name**: common - **Description**: mysql、redis、es、xxljob、rocketmq、nacos、feign等模块化 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-12-11 - **Last Updated**: 2025-06-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### Common-mybatis #### 特性 - 集成mybatisPlus和分页插件`MybatisPlusConfig` - 新增和修改支持自动填充时间**(仅限`createTime`,`updateTime`)** - 提供了数组类型数据保存的自动转换`ArrayObjectJsonTypeHandler` #### 数据源类型 默认hikari,如需切换,指定`spring.datasource.type`即可 - `hikari` - `druid` #### mapper默认扫描路径 `com.piglet.*.mapper` `com.piglet.*.*.mapper` `com.piglet.*.*.*.mapper` #### 示例配置文件 ```yaml # 数据源配置 spring: datasource: driverClassName: com.mysql.cj.jdbc.Driver username: password: url: mybatis-plus: configuration: # 驼峰下划线转换 map-underscore-to-camel-case: true # 这个配置会将执行的sql打印出来,在开发或测试的时候可以用 log-impl: org.apache.ibatis.logging.stdout.StdOutImpl ``` #### 数据加密处理-@EncryptedField ```xml com.piglet.growth common-mybatis 0.0.1-SNAPSHOT ``` - 在实体类上增加注解即可,针对字符串读取和存储时自动加解密 ```java /** * 手机号 */ @EncryptedField private String phoneNumber; ``` ### Common-web #### 特性 - 支持全局异常处理 `GlobalExceptionHandler` - 支持全局时间输出类型格式转换 - 支持全局时区转换 - 支持feign统一解码,自选开启`FeignDecoder` - 注入了Validator,支持手动参数校验`ValidationConfig` - 使用openFeign作为默认Http调用工具 - 支持了logback配置 - 日志级别开发环境为DEBUG,其他环境为`INFO` - 通过读取spring.application.name配置日志名称 - 日志路径在./logs/${APP_NAME} - 支持输出到控制台和文件 - 文件名称格式为{时间-日志级别-序号.log} - 日志文件保留30天,单个文件20M - dev环境 - 输出到控制台 - test环境 - 输出到控制台 - prod环境 - 输出到控制台和文件 ### Common-redis #### 特性 - 使用jackson的序列化方式`RedisConfig`,序列化方式不建议修改 - 使用Lettuce客户端,如需修改,自己创建RedisTemplate即可`RedisConfig` - 引入redisson客户端 #### 示例配置文件 ```yaml # 数据源配置 spring: redis: database: 0 password: cluster: nodes: - max-redirects: 2 # 连接超时时间 timeout: 10s lettuce: pool: # 连接池中的最小空闲连接 min-idle: 1 # 连接池中的最大空闲连接 max-idle: 8 # 连接池的最大数据库连接数 max-active: 8 # #连接池最大阻塞等待时间(使用负值表示没有限制) max-wait: 2000ms # 分布式锁配置 redisson: address: password: database: 0 min-idle: 1 ``` ### Common-xxl-job ### Common-rocketmq ### Common-elasticserach ### Common-nacos(放到web)