文章目录
- 前言
- 1. 创建项目与整合MP
- 1.1 IDEA创建SpringBoot项目
- 1.2 SpringBoot整合Mybatis-Plus
- 2. 远程仓库
- 2.1 创建远程仓库/本地仓库
- 2.2 Add/Commit/Push/Pull
- 3. 总结与补充
- 3.1 解决refusing to merge unrelated histories
- 3.2 总结
- 3.3 结语
- 参考资料
SpringBoot 单体项目创建 与 整合 Mybatis-Plus
记一次项目初始化,并整合Mybatis-Plus
前言
炎炎夏日,闲来无事,开了一个项目练手。在完成了需求分析、表设计之后,就要开始项目搭建了。
在搭建之前先考虑:
- 预估当前项目用户体量不大,单体项目即可
- 当前项目为工具类项目,选用Java技术栈
- 时间也要抓紧,为避免一些踩坑及调试,先采用JDK1.8,后续再考虑向JDK17等新LTS过渡
- 练手为主,就暂时不用现成的开源项目二开,直接从创建一个 SpringBoot 项目开始
基于以上,先创建一个SpringBoot,然后整合Mybatis-Plus,创建一个远程仓库并push
学习目标
- 本地创建SpringBoot项目,并用Maven管理依赖
- 整合Mybatis,Mybatis-Plus
- 创建一个远程仓库,并将上述创建好的项目push
当然,由于本地创建SpringBoot的项目一般大部分读者都比较熟,因此这部分读者可以直接跳过创建项目的部分而直接参考SpringBoot整合Mybatis/Mybatis-plus,希望能为诸位提供一点参考价值。
下面我们开始!
1. 创建项目与整合MP
我们在公司以及日常自己做其它中大型项目、时间紧的项目的时候,常用开源或者其它现成的项目二开来提升效率,这种项目一般都是拉下来,配置本地环境,修改,配置远程仓库,push即可。本地创建SpringBoot项目的方式工作后就比较少用了,借此一起回顾一下:
一般有两种方式:
- SpringBoot官网直接下载项目的zip包,然后本地解压,再在IDE打开
- 在IDE创建SpringBoot
其实,在IDE创建SpringBoot的本质也是在官网下载zip包,只不过一般我们常用的IDE都做得比较好,将中间很多步骤都省略了,且提供了一个简洁高效的选择界面给我们选择,并可在创建项目时做一些pom.xml的依赖引入以及其它配置等。
这里我就以IDEA的项目创建为例。
1.1 IDEA创建SpringBoot项目
结合我个人创建过程中的截图,记录如下步骤:
选择IDEA创建项目入口:
选择Spring Initializr
注意,这一步要填的信息比较多,包括命名包名,选择JDK、组名、依赖/打包工具等,读者需要根据自己的实际所需工具来;其中,这里我个人需要选择创建基于JDK8的springboot,因此还是选择阿里云的Server URL
:
选择SpringBoot版本并勾选依赖
其实这一步的本质和我们配置pom.xml并无区别,因此我们可以只先勾选例如如下Spring web
的部分方便我们初次启动验证项目。其余的工具与中间件的依赖与配置,我们后续再逐个手动加上并配置即可。
本地Maven选择
若读者和我一样是使用Maven作为项目的依赖打包工具,则参考如下截图修改,使用本地自己的Maven。若不使用本地自己的Maven,若是Windows用户,IDEA会默认将各种依赖下载到我们的系统C盘,影响系统盘空间:
-
File 中找到 Settings:
-
参考此图修改使用的Maven配置及本地仓库路径:
启动项目验证
上述均配置好后,我们可以直接启动这个刚建的项目来验证一下。出现类似如下截图的说明我们的项目创建成功:
1.2 SpringBoot整合Mybatis-Plus
pom.xml
首先,我们需要引入MP相关dependency到pom.xml,其中,version版本的选择读者需要根据自己的实际情况选择,例如对应springboot兼容的版本。
<!-- MybatisPlus -->
<dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.4.2</version>
</dependency><!-- Mysql -->
<dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><scope>runtime</scope>
</dependency><!-- Lombok -->
<dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId>
</dependency>
这里我自己顺便引入了Lombok
application.yml
接着,我们配置application.yml,参考如下:
#数据源
spring:datasource:url: jdbc:mysql://localhost:3306/mybatis_plus_learning?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghaiusername: rootpassword: rootdriver-class-name: com.mysql.cj.jdbc.Driver#配置日志
mybatis-plus:configuration:log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
至于mybatis-plus的更多配置,请读者参考:mybatis官网
最后,我们重启下项目验证一下基本配置,若正常启动则说明基本没什么问题或问题不大。如果此时表已经设计好,可以写个Demo测试一下MP是否能正常使用。若配合IDEA插件Mybatis-X来生成基础代码的话,不要忘记@MapperScan哦~
2. 远程仓库
项目创建好后,我们就可以将基础项目推到远程仓库了。这里以 Gitee 为示例。
2.1 创建远程仓库/本地仓库
创建远程仓库
如下截图,我们登录到Gitee后,可在平台创建仓库,如下填入仓库名、分支结构等基础信息即可:
创建本地仓库
如下图所示,我们可以在本地终端/cmd使用git init
命令创建本地仓库。当然这一步的前提是在创建项目时没有在勾选IDEA帮我们创建的本地仓库:
2.2 Add/Commit/Push/Pull
一般接下来的步步骤就是进行实际开发后的分支管理了。
我个人常用命令来进行git操作,日常主要使用git add
、git commit
、 git push
和 git pull
了。
当然偶尔也用一下IDEA自带的push、pull、checkout branch等。
此处趁着是新项目,以下是完成远程和本地仓库创建后,我们点击IDEA的git push:
接下来,就可以正常推拉了。当然,还有个小前提就是本地git本身也要配好;若是SSH的方式,SSH Key等要配好。
关于git具体的操作,篇幅有限,此处不赘述,有需要的读者需到git官方文档及其它参考文章了解。
3. 总结与补充
3.1 解决refusing to merge unrelated histories
一般如果我们对远程仓库做了初始化,直接commit push的话,会报:
fatal: refusing to merge unrelated histories
解决方案:
git pull origin main --allow-unrelated-histories
之后,再进行一次 add,commit,push
参考:Git与GitHub:仓库初始化初级流程
3.2 总结
本文记录了一次我做新项目的时候基础项目、Mybatis-Plus的基本配置过程,以及将这个基础项目推到一个新的远程仓库。
其实这部分的内容简单,大家都挺熟,学习开发的时候各种教程都教过,工作时多少也会接触。只是,随着效率的提升,二开的场景会更多,多数框架和开源项目开箱即用,这种本地创建基础项目可能会随着时间慢慢忘却。记录一次,日后方便翻阅,也希望帮助到读者。
3.3 结语
码路漫漫,我们都在不断学习、重复、思考、前进。如果您觉得这篇文章对您多少有点帮助,不妨点个免费的赞,您的支持是我更新的一大动力。期待在下一篇文章再相会!
参考资料
- Git与GitHub:仓库初始化初级流程
- CSDN-Mybatis-plus入门
- mybatis官网