1 【new project】=》【Spring boot】 =》配置项目的名称和存放位置,type选择【maven】。 选择jdk,最好大于等于17.
2 选择需要的依赖,本项目使用mybatis-plus,所以不需要添加mybatis的依赖。选择完成点击create即可。
3 修改pom.xml,下面是一份验证过没有问题的依赖配置。由于不同版本的依赖之间经常出现各种问题,因此最好不要随意修改。最新版的mybatis-plus直接引入mybatis-plus-spring-boot3-starter
即可,无需再排除mybatis-spring
并单独引入。
<!-- 当前项目依赖的第三方 框架 start -->
<dependencies>
<!--SpringBoot 默认依赖的内容 start -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!--SpringBoot 默认依赖的内容 end -->
<!-- Spring Web引用 SpringMVC start -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- Spring Web引用 SpringMVC end -->
<!-- 热部署 start -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<!-- 热部署 end -->
<!-- 数据库 持久层 Mybatis-plus start -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-spring-boot3-starter</artifactId>
<version>3.5.7</version>
</dependency>
<!-- 数据库 持久层 Mybatis-plus end -->
<!--mysql 驱动依赖 start -->
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
<version>8.0.33</version>
</dependency>
<!--mysql 驱动依赖 end -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<!-- json 数据转化 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>2.0.7.graal</version>
</dependency>
<!-- json 数据转化 -->
<!--登录令牌 token -->
<dependency>
<groupId>com.auth0</groupId>
<artifactId>java-jwt</artifactId>
<version>3.19.2</version>
</dependency>
<!--登录令牌 token -->
<!--文件上传 start -->
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.5</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.15.1</version>
</dependency>
<!-- 文件上传 end -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.5.7</version>
</dependency>
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>2.3.28</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity-engine-core</artifactId>
<version>2.1</version>
</dependency>
</dependencies>
<!-- 当前项目依赖的第三方 框架 start -->
4 建包分层:控制器 —— 业务逻辑 —— 持久层 —— DB
- 实体层
pojo
bean
entity
- 持久层
dao
mapper
- 业务逻辑层
service
- 控制层
controller
- 拦截器
interceptor
- 配置
config
- 工具包
utils
5 给项目配置属性文件 application.yml
spring:
application:
name: MobileBankingSystem
# 数据库配置
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/bank
username: root
password: 1234
# 静态文件路径
mvc:
static-path-pattern: /static/**
web:
resources:
static-locations: /static/**
# 文件上传大小
servlet:
multipart:
max-file-size: 1MB
max-request-size: 10MB
# 端口
server:
port: 8080
# mybatis-plus
mybatis-plus:
configuration:
# 日志
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
global-config:
# 逻辑删除
db-config:
logic-not-delete-value: 1
logic-delete-value: 0
# 日志
logging:
level:
web: debug
sql: debug
6 使用代码生成器,生成基础代码
- 在
pom.xml
添加代码生成器依赖【代码生成器 | MyBatis-Plus (baomidou.com)】
<!-- 代码生成器 start -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.5.7</version>
</dependency>
<!-- 代码生成器 end -->
<!-- 代码模板 start -->
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>2.3.28</version>
<scope>compile</scope>
</dependency>
<!-- 代码模板 end -->
- 在
MobileBankingSystemApplicationTests
中写一个方法,生成基础代码
// 将url、username、password改成数据库的具体配置
FastAutoGenerator.create("url", "username", "password")
.globalConfig(builder -> builder
.author("Baomidou") // 作者改成自己
.outputDir(Paths.get(System.getProperty("user.dir")) + "/src/main/java") // 可以直接填个固定地址,暂时存放生成的代码
.commentDate("yyyy-MM-dd")
)
.packageConfig(builder -> builder
.parent("com.baomidou.mybatisplus") // 修改根包
.entity("entity")
.mapper("mapper")
.service("service")
.serviceImpl("service.impl")
.xml("mapper.xml") // 可以自行增减或者修改包名
)
.strategyConfig(builder -> builder
.entityBuilder()
.enableLombok()
)
.templateEngine(new FreemarkerTemplateEngine()) // 代码模板,mybatis-plus支持四个
.execute();
- 执行单元测试方法生成代码
6 在主程序入口类加上自动扫描注解@MapperScan("com.sheep.mobilebankingsystem.mapper")