MyBatis-Plus的使用

数据库基本设计完毕,创建完数据库后就需要让后端连接数据库。在这里用MyBatis-Plus的代码生成器能快速生成entity,mapper,service等文件。

操作步骤

第一步,添加依赖

pom.xml文件中的dependencies里添加如下几行代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-spring-boot3-starter</artifactId>
<version>3.5.9</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.5.9</version>
</dependency>
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>2.3.31</version>
</dependency>

现在我用的是最新的版本,如有问题请去官网查看是否有更新。其中freemarker是我要使用的模版引擎。

第二步 后端连接数据库

application.properties下写明你要连接的数据库的详细信息,我用的是mysql5.7

1
2
3
4
5
6
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/"yourDatabaseName"
spring.datasource.username="yourSqlUsername(maybe root)"
spring.datasource.password="yourSqlPassword"
mybatis-plus.mapper-locations=classpath:xml/*.xml
mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl

请将双引号的地方换上你自己要使用的。其中最后一句话是为了之后在终端打印出代码执行的sql语句。

第三步 编写代码生成器代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
package com.airomance.easytravelroute;

import com.baomidou.mybatisplus.generator.FastAutoGenerator;
import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;

import java.nio.file.Paths;

public class CodeGenerator {
public static void main(String[] args) {
String tables = "users,roles,xxx,xxx";
FastAutoGenerator.create("jdbc:mysql://localhost:3306/yourDatabaseName","username","password")
.globalConfig(builder -> builder
.author("airomance")
.outputDir(Paths.get(System.getProperty("user.dir"))+"/src/main/java")
.commentDate("yyyy-MM-dd")
)
.packageConfig(builder -> builder
.parent("com.airomance.easytravelroute")
.entity("entity")
.mapper("mapper")
.service("service")
.serviceImpl("service.impl")
.xml("mapper.xml")
)
.strategyConfig(builder -> builder
.addInclude(tables.split(","))
.entityBuilder()
.enableLombok()
.enableFileOverride()
.controllerBuilder()
.enableRestStyle()
)
.templateEngine(new FreemarkerTemplateEngine())
.execute();
}
}

请将数据库涉及的数据库名称,用户名,密码换成自己的。还有包名。

第四步 运行代码生成器

运行代码后应该会自动创建出entity,mapper,servicecontroller层等文件。这时需要把mapper文件夹下的xml文件夹移动到项目的resources文件夹下,这样方便配置也是一般的使用习惯。

注意,这里xml必须移动,原因在第二步已经设置了xml文件夹的路径,就是这句配置:

mybatis-plus.mapper-locations=classpath:xml/*.xml

第五步 设置mapper路径

我们需要将mapper文件夹的路径告诉Spring boot,在启动项目的application文件下添加一个注解。

@MapperScan("com.airomance.easytravelroute.mapper")

添加后这个文件代码应该是这样的:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
package com.airomance.easytravelroute;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
@MapperScan("com.airomance.easytravelroute.mapper")
public class EasyTravelRouteApplication {

public static void main(String[] args) {
SpringApplication.run(EasyTravelRouteApplication.class, args);
}

}

结束

至此应该能够正常运行项目,然后进行接口的详细编写了。