前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >项目脚手架 - 《Spring Boot + MyBatis + MyBatis Generator》

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

作者头像
落跑架构师M
发布2020-04-10 10:16:18
9640
发布2020-04-10 10:16:18
举报
文章被收录于专栏:落跑架构师M落跑架构师M

前言

最近启动了一个新的项目发现,每当一个新项目的启动往往需要从头搭建一个“框架”,其中虽然很多基础代码可以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

目录结构

代码语言:javascript
复制
scaffold
├── scaffold-api    # REST API 模块
├── scaffold-common # 公共代码模块
└── scaffold-mbg    # MyBatis Generator 及生成的内容

环境

  • JDK8
  • Lombok

脚手架配置

项目、程序包名称

使用 IDE 等工具进行批量全局替换。

Spring

  • 开启 @Async 线程池使用 ForkJoinPool.commonPool()
  • @EnableScheduling
  • @EnableSwagger2
  • datasource
    • 最小空闲连接 5
    • 连接超时 15秒
    • 最大连接池大小 20
    • MySQL
    • hikari
  • 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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-03-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 落跑架构师M 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 规划
  • springboot-mybatis-scaffold
    • 介绍
      • 脚手架集成内容
        • 目录结构
          • 环境
            • 脚手架配置
              • 项目、程序包名称
              • Spring
              • MyBatis
              • MBG
              • Application
              • RestControllerAdvice
          • 写在最后
          相关产品与服务
          云数据库 MySQL
          腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档