1、pom包引入:
<!-- mybatis-plus-generator --> <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>
2、工具类引入:
import com.baomidou.mybatisplus.annotation.DbType; 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; public class CodeGeneratorUtil { public static void main(String[] args) { // 业务表名 String tableName = "tableA"; // 包名 String packageName = "com.test.push"; // 作者 String author = "zhangsan"; // 创建代码 CodeGeneratorUtil codeGeneratorUtil = new CodeGeneratorUtil(); codeGeneratorUtil.generate(tableName, packageName, author); } private void generate(String tableName, String packageName, String author) { // 1、创建代码生成器 AutoGenerator mpg = new AutoGenerator(); // 2、全局配置 GlobalConfig gc = new GlobalConfig(); String projectPath = System.getProperty("user.dir"); // 项目输出根目录 gc.setOutputDir(projectPath + "/src/main/java"); // 作者 gc.setAuthor(author); //生成后是否打开资源管理器 gc.setOpen(false); //去掉Service接口的首字母I gc.setServiceName("%sService"); //主键策略 gc.setIdType(IdType.AUTO); mpg.setGlobalConfig(gc); // 3、数据源配置 DataSourceConfig dsc = new DataSourceConfig(); dsc.setUrl(""); dsc.setDriverName("com.mysql.cj.jdbc.Driver"); dsc.setUsername(""); dsc.setPassword(""); dsc.setDbType(DbType.MYSQL); mpg.setDataSource(dsc); // 4、包配置 PackageConfig pc = new PackageConfig(); // 生成的文件放在那个目录下 若没有该文件 则会创建 pc.setParent(packageName); //此对象与数据库表结构一一对应,通过 DAO 层向上传输数据源对象。 pc.setEntity(""); mpg.setPackageInfo(pc); // 5、策略配置 StrategyConfig strategy = new StrategyConfig(); //数据库表映射到实体的命名策略 strategy.setNaming(NamingStrategy.underline_to_camel); //数据库表字段映射到实体的命名策略 strategy.setColumnNaming(NamingStrategy.underline_to_camel); // lombok strategy.setEntityLombokModel(true); //逻辑删除字段名 strategy.setLogicDeleteFieldName("is_deleted"); //去掉布尔值的is_前缀(确保tinyint(1)) strategy.setEntityBooleanColumnRemoveIsPrefix(true); //restful api风格控制器 strategy.setRestControllerStyle(true); strategy.setTablePrefix("pc"); mpg.setStrategy(strategy); // 6、执行 mpg.execute(); } }