MyBatis本身支持逆向工程,来生成对应的实体类、映射文件以及接口,MyBatis-Plus对此进行了增强,还可以生成对应的service和mapper,并且自动使用了MyBatis-Plus的增强接口和类
一、项目配置
新建SpringBoot项目
导入依赖:
代码语言:javascript复制 <dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.2</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.3.2</version>
<exclusions>
<exclusion>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-extension</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity-engine-core</artifactId>
<version>2.0</version>
</dependency>
准备数据库:
二、编写代码生成方法
测试类中编写即可:
代码语言:javascript复制 @Test
void mybatisPlusGenerate() {
AutoGenerator autoGenerator = new AutoGenerator();
//全局配置
GlobalConfig globalConfig = new GlobalConfig();
globalConfig.setAuthor("aruba")
.setOutputDir("F:\idelworkspace\FamilyCloud\src\main\java")//设置输出路径
.setFileOverride(true)//设置文件覆盖
.setIdType(IdType.AUTO)//设置主键生成策略
.setServiceName("%sService")//service接口的名称
.setBaseResultMap(true)//基本结果集合
.setBaseColumnList(true)//设置基本的列
.setControllerName("%sController");
//配置数据源
DataSourceConfig dataSourceConfig = new DataSourceConfig();
dataSourceConfig.setDriverName("com.mysql.cj.jdbc.Driver")
.setUrl("jdbc:mysql://localhost:3306/family?serverTimezone=UTC")
.setUsername("root")
.setPassword("root");
//策略配置
StrategyConfig strategyConfig = new StrategyConfig();
strategyConfig.setCapitalMode(true)//设置全局大写命名
.setNaming(NamingStrategy.underline_to_camel)//数据库表映射到实体的命名策略
// .setTablePrefix("tbl_")//设置表名前缀
.setInclude();
//包名配置
PackageConfig packageConfig = new PackageConfig();
packageConfig.setParent("com.aruba.familycloud")
.setMapper("mapper")
.setService("service")
.setController("controller")
.setEntity("bean")
.setXml("mapper");
autoGenerator.setGlobalConfig(globalConfig)
.setDataSource(dataSourceConfig)
.setStrategy(strategyConfig)
.setPackageInfo(packageConfig);
autoGenerator.execute();
}
需要修改的就是生成代码路径,数据库连接信息,以及对应生成的包名
运行方法后:
由于xml文件也会生成在mapper包下,可以进行Maven资源文件的配置:
代码语言:javascript复制 <build>
...
<!--配置资源文件进行编译-->
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
</resources>
</build>