编写java mybatis-plus代码生成器
时间: 2023-09-04 20:16:27 浏览: 117
下面是使用 MyBatis-Plus 自动生成代码的步骤:
1. 在 pom.xml 中引入 MyBatis-Plus 的依赖:
```xml
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>最新版本</version>
</dependency>
```
2. 创建数据表并在数据库中插入数据。
3. 在项目目录下创建一个代码生成器类,例如 MybatisPlusGenerator.java。
4. 在代码生成器类中添加必要的依赖:
```java
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.core.config.GlobalConfig;
import com.baomidou.mybatisplus.core.config.rules.DbColumnType;
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.TemplateConfig;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;
```
5. 添加代码生成器的配置:
```java
public class MybatisPlusGenerator {
public static void main(String[] args) {
// 数据源配置
DataSourceConfig dsc = new DataSourceConfig();
dsc.setDbType(DbType.MYSQL);
dsc.setDriverName("com.mysql.jdbc.Driver");
dsc.setUrl("jdbc:mysql://localhost:3306/数据库名?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8");
dsc.setUsername("用户名");
dsc.setPassword("密码");
// 全局配置
GlobalConfig gc = new GlobalConfig();
gc.setOutputDir(System.getProperty("user.dir") + "/src/main/java");
gc.setAuthor("作者名");
gc.setOpen(false);
gc.setFileOverride(true);
gc.setBaseResultMap(true);
gc.setBaseColumnList(true);
gc.setIdType(IdType.AUTO);
gc.setSwagger2(true);
// 包配置
PackageConfig pc = new PackageConfig();
pc.setParent("包名");
pc.setEntity("entity");
pc.setMapper("mapper");
pc.setService("service");
pc.setServiceImpl("service.impl");
pc.setController("controller");
// 策略配置
StrategyConfig strategy = new StrategyConfig();
strategy.setNaming(NamingStrategy.underline_to_camel);
strategy.setColumnNaming(NamingStrategy.underline_to_camel);
strategy.setEntityBuilderModel(true);
strategy.setEntityLombokModel(true);
strategy.setEntityTableFieldAnnotationEnable(true);
strategy.setRestControllerStyle(true);
strategy.setControllerMappingHyphenStyle(true);
strategy.setInclude("表名"); // 生成哪些表的代码,可选
strategy.setTablePrefix("表前缀"); // 表前缀,可选
// 模板配置
TemplateConfig template = new TemplateConfig();
template.setController(null); // 不生成 controller 代码
template.setXml(null); // 不生成 xml 代码
// 代码生成器
AutoGenerator mpg = new AutoGenerator();
mpg.setDataSource(dsc);
mpg.setGlobalConfig(gc);
mpg.setPackageInfo(pc);
mpg.setStrategy(strategy);
mpg.setTemplate(template);
mpg.setTemplateEngine(new FreemarkerTemplateEngine());
mpg.execute();
}
}
```
6. 运行代码生成器,即可生成对应的代码。
注:以上代码仅供参考,实际使用时需要根据具体情况进行修改。
阅读全文