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
,service
,controller
层等文件。这时需要把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); }
}
|
结束
至此应该能够正常运行项目,然后进行接口的详细编写了。