c mysql 代码生成器_MybatisPlus 代码生成器

近来项目中用到了MybatisPlus,顺带研究了一下代码生成器

所以就有了这篇博客,用来记录一下

1.引入依赖

com.baomidou

mybatis-plus-generator

3.4.1

mysql

mysql-connector-java

8.0.16

com.ibeetl

beetl

3.2.0.RELEASE

org.projectlombok

lombok

1.18.16

provided

复制代码

2.创建父类BasePOimport com.baomidou.mybatisplus.annotation.IdType;import com.baomidou.mybatisplus.annotation.TableField;import com.baomidou.mybatisplus.annotation.TableId;import com.baomidou.mybatisplus.annotation.TableLogic;import lombok.Getter;import lombok.Setter;import java.io.Serializable;/**

* 可以放一些所有PO通用的属性或方法

*

* @author dujc

* @date 2020/3/7

*/@Setter@Getterpublic class BasePO implements Serializable {@TableId(value = "id", type = IdType.AUTO)private Long id;/**

* 逻辑删除字段,0表示未删除,1表示已删除

*/@TableLogic@TableField(select = false)private Long deleted = 0L;

}复制代码

3.创建CodeGenerator,书写主要逻辑import com.baomidou.mybatisplus.core.exceptions.MybatisPlusException;import com.baomidou.mybatisplus.generator.AutoGenerator;import com.baomidou.mybatisplus.generator.config.*;import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;import com.baomidou.mybatisplus.generator.engine.BeetlTemplateEngine;import java.util.Scanner;/**

* 代码生成器

* 运行 main 方法即可

*

* @author abm

*/public class CodeGenerator {/**

* 读取控制台内容

*/private static String scanner(String tip) {

Scanner scanner = new Scanner(System.in);

System.out.println("请输入" + tip + ":");if (scanner.hasNext()) {

String ipt = scanner.next();if (ipt != null && !ipt.isEmpty()) {return ipt;

}

}throw new MybatisPlusException("请输入正确的" + tip + "!");

}public static void main(String[] args) {// Beetl 模板引擎BeetlTemplateEngine engine = new BeetlTemplateEngine();// 代码生成器AutoGenerator mpg = new AutoGenerator();// 全局配置GlobalConfig gc = new GlobalConfig();

String projectPath = System.getProperty("user.dir");

gc.setOutputDir(projectPath + "/generate/");

gc.setAuthor("miao");

gc.setOpen(false);

gc.setSwagger2(false);

mpg.setGlobalConfig(gc);// 数据源配置DataSourceConfig dsc = new DataSourceConfig();

dsc.setDriverName("com.mysql.cj.jdbc.Driver");

dsc.setUrl("jdbc:mysql://" + scanner("数据库 ip:port ") + "/" + scanner("数据库名")

+ "?useUnicode=true&useSSL=false&characterEncoding=utf8");

System.out.println("数据库 url: " + dsc.getUrl());

dsc.setUsername(scanner("数据库账户名"));

dsc.setPassword(scanner("数据库密码"));

mpg.setDataSource(dsc);// 包配置PackageConfig pc = new PackageConfig();

pc.setModuleName(scanner("模块名"));

pc.setParent("cn.miao");

mpg.setPackageInfo(pc);// 策略配置StrategyConfig strategy = new StrategyConfig();

strategy.setNaming(NamingStrategy.underline_to_camel);

strategy.setColumnNaming(NamingStrategy.underline_to_camel);

strategy.setEntityLombokModel(true);

strategy.setRestControllerStyle(true);

strategy.setSuperEntityClass("cn.miao.code.common.po.BasePO");// 写于父类中的公共字段strategy.setSuperEntityColumns("id", "deleted");

strategy.setInclude(scanner("要生成的表,多个英文逗号分割").split(","));

strategy.setControllerMappingHyphenStyle(true);

strategy.setTablePrefix(pc.getModuleName() + "_");

strategy.setVersionFieldName("version");

mpg.setStrategy(strategy);

mpg.setTemplateEngine(engine);

mpg.execute();

}

}复制代码

4.执行验证

9ee157f0ac7d665a22aad8de4d9c735d.png

e5676153084b1c2a5b62d875571c2820.png

5. 验证完成

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值