亲宝软件园·资讯

展开

项目脚手架 - 《Spring Boot + MyBatis + MyBatis Generator》

KAnts 人气:0
# 前言 最近启动了一个新的项目发现,每当一个新项目的启动往往需要从头搭建一个“框架”,其中虽然很多基础代码可以Copy,但也会浪费不少时间。 基于这个情况,我打算在GitHub上创建了一个公开库scaffold用来存放平时常用的脚手架项目。 脚手架仓库地址:https://github.com/majian159/scaffold # 规划 实现的脚手架有: - Java - Spring Boot + MyBatis 规划的脚手架有: - Java - Spring Boot + JPA - Spring Boot + MyBatis - Web - Ant design Pro - antd # springboot-mybatis-scaffold 第一波因为项目需求先传了 基于 sb + mybatis 的脚手架,其实我个人更喜欢 sb + jpa + ddd 的脚手架,后续在整理出来。 ## 介绍 这是一个基于 SpringBoot + MyBatis + MyBatis Generator 的脚手架项目。 脚手架默认实现了一个 `department` RESTful API,用来演示。 ## 脚手架集成内容 - Spring Boot - Spring Security - MyBatis - MyBatis Generator - PageHelper - Swagger-UI ## 目录结构 ```sh scaffold ├── scaffold-api # REST API 模块 ├── scaffold-common # 公共代码模块 └── scaffold-mbg # MyBatis Generator 及生成的内容 ``` ## 环境 - JDK8 - Lombok ## 脚手架配置 ### 项目、程序包名称 使用 IDE 等工具进行批量全局替换。 ### Spring - 开启 @Async 线程池使用 `ForkJoinPool.commonPool()` - `@EnableScheduling` - `@EnableSwagger2` - datasource - MySQL - hikari - 最小空闲连接 5 - 连接超时 15秒 - 最大连接池大小 20 - jackson - 不包含 null 值的属性 ### MyBatis - Mapper扫描路径 - 当前项目下的 dao/*.xml (项目中自定义的Mapper xml) - 全局 mapper/*.xml (用于mbg生成的Mapper xml) ### MBG > 这边只是简化了 `generatorConfig.xml` 的配置,如有个性化需求可直接修改 `generatorConfig.xml` > `scaffold-mbg/src/main/resources/generator.properties` | 配置键 | 说明 | 默认值 | | -------------------- | ------------- | ------------- | | jdbc.driverClass | JDBC驱动类 | com.mysql.cj.jdbc.Driver | | jdbc.connectionURL | JDBC URL | jdbc:mysql://localhost/scaffold?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai | | jdbc.userId | 数据库用户名 | root | | jdbc.password | 数据库密码 | root | | common.basePackage | 基础的包名 | com.scaffold.springboot.mybatis.mbg | | common.basePath | 基础的路径 | scaffold-mbg | ### Application `scaffold-api/src/main/resources/application.yml` | 配置键 | 说明 | 默认值 | | ----------------------- | ------------- | ------------- | | application.basePackage | 基础 package,用来简化项目改名后带来的负担 | com.scaffold.springboot.mybatis | ### RestControllerAdvice 当 Controller 抛出 `ServiceException`, `ApiException` 异常时会经由 Advice 自动包装成 `ApiErrorViewModel`, 并返回对应的 HttpStatusCode. # 写在最后 这是一个高个人意愿的脚手架仓库,大家可以不用完全使用,只是参考部分内容,希望对大家有所帮助 脚手架仓库地址:https://github.com/majian159/scaffold "阅读原文" 可直达 GitHub 库

加载全部内容

相关教程
猜你喜欢
用户评论