mybatis-plus代码生成步骤
引入相关依赖(因为生成代码需要使用模板引擎所以需要添加velocity)
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.4.1</version>
</dependency>
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity-engine-core</artifactId>
<version>2.3</version>
</dependency>
mybatis-plus是通过编写java代码的方式来设置生成代码的相关信息,不是通过配置xml文件来实现的,新建一个类Generator.java编写如下代码
```java
@Test
public void testGenerator() {
//1. 全局配置
GlobalConfig config = new GlobalConfig();
config.setActiveRecord(true) // 是否支持AR模式
.setAuthor("zhoushisheng") // 作者
.setOutputDir("D:\\1\\demo\\src\\main\\java") // 生成路径
.setFileOverride(true) // 文件覆盖,如果是追加就设置为false
.setIdType(IdType.AUTO) // 主键策略
.setServiceName("%sService") // 设置生成的service接口的名字的首字母是否为I
// IEmployeeService
.setBaseResultMap(true) // 是否生成BaseResultMap字段和属性对应
.setBaseColumnList(true); // 是否生成sql片段
//2. 数据源配置
DataSourceConfig dsConfig = new DataSourceConfig();
dsConfig.setDbType(DbType.MYSQL) // 设置数据库类型
.setDriverName("com.mysql.jdbc.Driver")
.setUrl("jdbc:mysql://localhost:3306/mp")
.setUsername("root")
.setPassword("root");
//3. 策略配置
StrategyConfig stConfig = new StrategyConfig();
stConfig.setCapitalMode(true) //全局大写命名
//.setDbColumnUnderline(true) // 指定表名 字段名是否使用下划线
.setNaming(NamingStrategy.underline_to_camel) // 数据库表映射到实体的命名策略
.setTablePrefix("tbl_")
.setInclude("tbl_employee","tbl_user"); // 生成的表名称
//4. 包名策略配置
PackageConfig pkConfig = new PackageConfig();
pkConfig.setParent("com.zhugunag.zhou")
.setMapper("mapper")
.setService("service")
.setController("controller")
.setEntity("beans")
.setXml("mapper");
//5. 整合配置
AutoGenerator ag = new AutoGenerator();
ag.setGlobalConfig(config)
.setDataSource(dsConfig)
.setStrategy(stConfig)
.setPackageInfo(pkConfig);
//6. 执行
ag.execute();
}
执行上面代码就会生成对应的指定模块代码。
特别说明,这块只是生成比较固定的代码,能不能生成指定的代码内容,定义自己的模板呢?其实是可以的,后续补充相关设置符合自己公司的框架代码88