# mickey-starter-parent **Repository Path**: jackingli/mickey-starter-parent ## Basic Information - **Project Name**: mickey-starter-parent - **Description**: mickey-starter-parent可以更加快速的集成springboot、springcloud、mybatis等常用开发框架 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2021-06-08 - **Last Updated**: 2025-01-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # mickey-starter-parent #### 项目介绍 mickey-starter-parent #### 软件架构 1. 本项目集成了mybatis+druid 和 先阶段流行的mybatis-plus,可自行选择使用哪一种orm框架 2. 项目中的代码生成器可对各种orm进行无缝集成,提供了四种形式的代码格式选择 3. 代码生成器对数据库有一定的限制,目前只支持**mysql数据库**且**主键为自增长**形式,**且唯一** 4. 由于mybatis-plus存在多种根据条件修改、删除的封装(**Wrapper**),基于安全原因考虑已经底层方法删除,如果需要请自行编写 5. 本项目底层会自动对create_time,update_time 2个字段在插入、修改时进行过滤,请自行设置数据库默认时间 #### 数据库demo脚本 必备字段 ```sql CREATE TABLE `tb_table` ( `tb_table_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', `del_flag` tinyint(1) NOT NULL DEFAULT '0' COMMENT '删除标志:0:未删除,1:已删除', `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 'create_time', `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 'update_time', PRIMARY KEY (`tb_table_id`), ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4; ``` #### 上传私服 ``` versions:set -DnewVersion=2.1.50.RELEASE deploy versions:set -DnewVersion=2.0.1-SNAPSHOT ``` #版本介紹 ##正式版本 * 1.0.0 初始化项目,基本工具类 * 1.0.2 新增db和mybatis转换类型 * 1.0.3 升级commons-codec为1.14版本 * 1.0.4 解决 Illegal DefaultValue null for parameter type integer * 1.0.5 解决mybatis xml like 注入问题 * 1.0.6 修改Resp的返回data默认值为null * 1.0.7 修改SignUtils 排序bug 添加 Micro 注解 * 1.0.8 (未同步其他分支)`1,修改NoveSqlInterceptor中引用类型被修改问题 2,新增PagerModel工具类 3,修改AbstractDruidDBConfig中pagehelper配置` * 1.0.9 修改NoveSqlInterceptor为线程安全 * 1.1.0 新增hutool依赖,新增logback-spring.xml * 2.0.0 `1、升级springboot版本为2.3.2.RELEASE springcloud Hoxton.SR8 springcloud-alibaba 2.2.5.RELEASE 2、修改NoveServiceException构造方法,默认传递错误值为500` * 2.0.1 `1、新增BaseTest类 2、新增openfign-okhttp项目 3、新增日志AOP拦截:需增加配置` ``` yaml aspect: pointcut: enabled: true execution: execution(public * com.ecej.member.server.controller..*.*(..)) ``` * 2.0.2 新增mickey-orm-mybatis-plus项目 * 2.0.3 接入skywalking,升级fastjson版本 * 2.0.4 优化mybatis-plus性能问题 * 2.0.5 修改日志AOPbug,将springboot父项目修改为springboot依赖 * 2.0.6 新增maven打包插件,解决剔除parent包后打包出问题的bug * 2.0.7 新增分布式锁注解,稳定版本 ##测试版本 * 2.0.1-SNAPSHOT * 2.0.2-SNAPSHOT 新增分布式锁注解 ## 代码生成器 ```text com.mickey mickey-generator ${last.version} MickeyConfig config = new MickeyConfig(); config.setBasePackage("com.ecej.member.server") .setTableNames( //不设置则生成所有表 Sets.newHashSet("member", "member_operation_log") ) .setType(MickeyConfig.TypeEnum.MYBATIS_PLUS_EXT); //根据项目需求选择不同枚举 new CodeGenerator(dataSource, config) .start(); ``` ## web项目使用,统一项目版本 ### 原始springboot父项目 ```text org.springframework.boot spring-boot-starter-parent 2.3.2.RELEASE org.springframework.boot spring-boot-dependencies 2.3.2.RELEASE pom import ``` ### 引用父包 ```xml com.mickey mickey-starter-parent ${last.version} ``` ### 使用框架提供的功能 ```xml com.mickey mickey-spring-boot-starter com.mickey mickey-orm-mybatis-plus ```