# 快速开始
# 安装
Maven
1 2 3 4 5 6
| <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-spring-boot3-starter</artifactId> <version>3.5.7</version> </dependency>
|
# 配置
application.yml
1 2 3 4 5 6 7 8 9 10 11
|
spring: datasource: driver-class-name: org.h2.Driver username: root password: test sql: init: schema-locations: classpath:db/schema-h2.sql data-locations: classpath:db/data-h2.sql
|
在 Spring Boot 启动类中添加 @MapperScan 注解,扫描 Mapper 文件夹
1 2 3 4 5 6 7 8 9 10
| @SpringBootApplication @MapperScan("com.baomidou.mybatisplus.samples.quickstart.mapper") public class Application {
public static void main(String[] args) { SpringApplication.run(Application.class, args); }
}
|
# 代码生成器
# xml
1 2 3 4 5 6 7 8 9 10 11 12 13
|
<dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-generator</artifactId> <version>3.5.7</version> </dependency> <dependency> <groupId>org.apache.velocity</groupId> <artifactId>velocity-engine-core</artifactId> <version>2.3</version> </dependency>
|
# 代码
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 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
|
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.generator.FastAutoGenerator; import com.baomidou.mybatisplus.generator.config.OutputFile; import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
import java.util.Arrays; import java.util.Collections; import java.util.List;
public class CodeGenerator { protected static List<String> getTables(String tables) { return "all".equals(tables) ? Collections.emptyList() : Arrays.asList(tables.split(",")); }
public static void main(String[] args) { FastAutoGenerator.create("jdbc:mysql://127.0.0.1:3306/fluffy", "root", "1234") .globalConfig((scanner, builder) -> { builder.author(scanner.apply("请输入作者名称?")); builder.outputDir(System.getProperty("user.dir")+"/src/main/java"); }) .packageConfig((scanner, builder) -> { builder.parent(scanner.apply("请输入包名?")) .pathInfo(Collections.singletonMap(OutputFile.xml, System.getProperty("user.dir")+"/src/main/resources/mapper")); }) .strategyConfig((scanner, builder) -> { builder.addInclude(CodeGenerator.getTables(scanner.apply("请输入表名,多个英文逗号分隔?所有输入 all"))) .controllerBuilder().enableRestStyle().enableHyphenStyle().build(); builder.serviceBuilder() .formatServiceFileName("%sService") .formatServiceImplFileName("%sServiceImp") .build(); builder.entityBuilder() .enableLombok() .enableTableFieldAnnotation() .versionColumnName("version") .logicDeleteColumnName("is_delete") .columnNaming(NamingStrategy.underline_to_camel) .idType(IdType.AUTO) .formatFileName("%sEntity") .build(); }) .execute(); } }
|