天天看點

項目腳手架 - 《Spring Boot + MyBatis + MyBatis Generator》

最近啟動了一個新的項目發現,每當一個新項目的啟動往往需要從頭搭建一個“架構”,其中雖然很多基礎代碼可以Copy,但也會浪費不少時間。

基于這個情況,我打算在GitHub上建立了一個公開庫scaffold用來存放平時常用的腳手架項目。

腳手架倉庫位址:https://github.com/majian159/scaffold

實作的腳手架有:

Java

Spring Boot + MyBatis

規劃的腳手架有:

Spring Boot + JPA

Web

Ant design Pro

antd

第一波因為項目需求先傳了 基于 sb + mybatis 的腳手架,其實我個人更喜歡 sb + jpa + ddd 的腳手架,後續在整理出來。

這是一個基于 SpringBoot + MyBatis + MyBatis Generator 的腳手架項目。

腳手架預設實作了一個 <code>department</code> RESTful API,用來示範。

Spring Boot

Spring Security

MyBatis

MyBatis Generator

PageHelper

Swagger-UI

JDK8

Lombok

使用 IDE 等工具進行批量全局替換。

開啟 @Async 線程池使用 <code>ForkJoinPool.commonPool()</code>

<code>@EnableScheduling</code>

<code>@EnableSwagger2</code>

datasource

MySQL

hikari

最小空閑連接配接 5

連接配接逾時 15秒

最大連接配接池大小 20

jackson

不包含 null 值的屬性

Mapper掃描路徑

目前項目下的 dao/*.xml (項目中自定義的Mapper xml)

全局 mapper/*.xml (用于mbg生成的Mapper xml)

這邊隻是簡化了 <code>generatorConfig.xml</code> 的配置,如有個性化需求可直接修改 <code>generatorConfig.xml</code>

<code>scaffold-mbg/src/main/resources/generator.properties</code>

配置鍵

說明

預設值

jdbc.driverClass

JDBC驅動類

com.mysql.cj.jdbc.Driver

jdbc.connectionURL

JDBC URL

jdbc:mysql://localhost/scaffold?useUnicode=true&amp;characterEncoding=utf-8&amp;serverTimezone=Asia/Shanghai

jdbc.userId

資料庫使用者名

root

jdbc.password

資料庫密碼

common.basePackage

基礎的包名

com.scaffold.springboot.mybatis.mbg

common.basePath

基礎的路徑

scaffold-mbg

<code>scaffold-api/src/main/resources/application.yml</code>

application.basePackage

基礎 package,用來簡化項目改名後帶來的負擔

com.scaffold.springboot.mybatis

當 Controller 抛出 <code>ServiceException</code>, <code>ApiException</code> 異常時會經由 Advice 自動包裝成 <code>ApiErrorViewModel</code>, 并傳回對應的 HttpStatusCode.

這是一個高個人意願的腳手架倉庫,大家可以不用完全使用,隻是參考部分内容,希望對大家有所幫助

"閱讀原文" 可直達 GitHub 庫