spring boot mybatis逆向工程

创建SpringBoot项目

创建一个普通的SpringBoot项目,然后引入依赖,既然要跟数据库打交道,connector肯定不能少

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.18</version>
</dependency>

另外要使用mybatis-plus,当然也要引入该starter

<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>3.4.1</version>
</dependency>

由于需要用到逆向工程,所以引入依赖

<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.1</version>
</dependency>

为了方便起见,这里引入Lombok

<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <optional>true</optional>
</dependency>

然后编写一个类,直接执行即可!

class AutoCode public static void main(String[] args// 1、全局配置 GlobalConfig globalConfig new GlobalConfig();//构建全局配置对象 String projectPath = System.getProperty("user.dir");// 获取当前用户的目录 globalConfig.setOutputDir(projectPath "/mybatis-plus-01-start/src/main/java")// 输出文件路径 .setAuthor("微信搜一搜:贺贺学编程")// 设置作者名字 .setOpen(false)// 是否打开资源管理器 .setFileOverride(true)// 是否覆盖原来生成的 .setIdType(IdType.AUTO)// 主键策略 .setBaseResultMap(true)// 生成resultMap .setBaseColumnList(true)// XML中生成基础列 .setServiceName("%sService");// 生成的service接口名字首字母是否为I,这样设置就没有I // 2、数据源配置 DataSourceConfig dataSourceConfig new DataSourceConfig();// 创建数据源配置 dataSourceConfig .setUrl("jdbc:mysql://127.0.0.1:3306/mybatis_plus?userSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC".setDriverName("com.mysql.cj.jdbc.Driver".setUsername("root")                 .setPassword("root".setDbType(DbType.MYSQL)// 3、包配置 PackageConfig packageConfig new PackageConfig(); packageConfig .setParent("com.hzy".setEntity("entity".setController("controller".setService("service".setMapper("mapper");// 4、策略配置 StrategyConfig strategyConfig new StrategyConfig(); strategyConfig .setCapitalMode(true)// 开启全局大写命名 .setInclude("user")// 设置要映射的表 .setNaming(NamingStrategy.underline_to_camel)// 下划线到驼峰的命名方式.setColumnNaming(NamingStrategy.underline_to_camel)// 下划线到驼峰的命名方式 .setEntityLombokModel(false)// 是否使用lombok .setRestControllerStyle(true)// 是否开启rest风格 .setControllerMappingHyphenStyle(true);// localhost:8080/hello_a_2 // 5、自定义配置(配置输出xml文件到resources下) InjectionConfig cfg new InjectionConfig(@Override public void initMap(// to do nothing }; List<FileOutConfig> focList new ArrayList<>(); String templatePath "/templates/mapper.xml.vm"// 自定义配置会被优先输出 focList.add(new FileOutConfig(templatePath@Override public String outputFile(TableInfo tableInfo// 自定义输出文件名 , 如果你 Entity 设置了前后缀、此处注意 xml 的名称会跟着发生变化!! return projectPath "/mybatis-plus-01-start/src/main/resources/mapper/" + tableInfo.getEntityName("Mapper" + StringPool.DOT_XML}); cfg.setFileOutConfigList(focList)// 6、整合配置 AutoGenerator autoGenerator new AutoGenerator();// 构建代码生自动成器对象 autoGenerator .setGlobalConfig(globalConfig)// 将全局配置放到代码生成器对象中 .setDataSource(dataSourceConfig)// 将数据源配置放到代码生成器对象中 .setPackageInfo(packageConfig)// 将包配置放到代码生成器对象中 .setStrategy(strategyConfig)// 将策略配置放到代码生成器对象中 .setCfg(cfg)// 将自定义配置放到代码生成器对象中 .execute();// 执行! }

执行结果如下

在这里插入图片描述
代码中的注释比较多,我就不多说了,如果有什么问题可以进行私信~

原文地址:https://www.cnblogs.com/JpfBlog66/p/14257926.html