方法:使用的是MybatisPlus代码生成器
在pom.xml文件中添加依赖:
<!--mybatis代码快速生成-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.3.1</version>
</dependency>
<!-- 跟springboot的一个整合包-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.3.1</version>
</dependency>
<!--模板-->
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity-engine-core</artifactId>
<version>2.2</version>
</dependency>
添加完依赖,进行maven clean
再到test类中进行代码运行:
在MyTest类中运行一下代码:
package com.ctb;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.config.DataSourceConfig;
import com.baomidou.mybatisplus.generator.config.GlobalConfig;
import com.baomidou.mybatisplus.generator.config.PackageConfig;
import com.baomidou.mybatisplus.generator.config.StrategyConfig;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
import org.junit.jupiter.api.Test;
public class MyTest {
@Test
public void testGenerator() {
AutoGenerator autoGenerator = new AutoGenerator();
//全局配置
GlobalConfig globalConfig = new GlobalConfig();
globalConfig.setAuthor("ctb")
.setOutputDir("E:\\ideaProject\\familyPlatform\\src\\main\\java")//设置输出路径,通常为本项目的src下的java路径
.setFileOverride(true)//设置文件覆盖
.setIdType(IdType.AUTO)//设置主键生成策略
.setServiceName("%sService")//service接口的名称
.setBaseResultMap(true)//基本结果集合
.setBaseColumnList(true)//设置基本的列
.setControllerName("%sController");//Controller的名称
//配置数据源
DataSourceConfig dataSourceConfig = new DataSourceConfig();
dataSourceConfig.setDriverName("com.mysql.cj.jdbc.Driver").setUrl("jdbc:mysql://localhost:3306/family_service_platform?serverTimezone=UTC")
.setUsername("root").setPassword("123456"); //这里设置mysql驱动,如果在pom.xml中配置的是mysql5,driverName改为com.mysql.jdbc.Driver,而mysql6以及以上是com.mysql.cj.jdbc.Driver,后面的url则是你的数据库表名,再后面两个属性就是你的数据库账户和密码
//策略配置
StrategyConfig strategyConfig = new StrategyConfig();
strategyConfig.setCapitalMode(true)//设置全局大写命名
.setNaming(NamingStrategy.underline_to_camel)//数据库表映射到实体的命名策略
//.setTablePrefix("tbl_")//设置表名前缀
.setInclude();
//包名配置
PackageConfig packageConfig = new PackageConfig();
packageConfig.setParent("com.ctb").setMapper("mapper")
.setService("service").setController("controller")
.setEntity("bean").setXml("mapper");
autoGenerator.setGlobalConfig(globalConfig).setDataSource(dataSourceConfig)
.setStrategy(strategyConfig).setPackageInfo(packageConfig);
autoGenerator.execute();
}
}
效果:
知识补充
mysql5的pom.xml的配置如下:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.37</version>
<scope>runtime</scope>
</dependency>
如果不添加版本号,默认版本号会比较高