SpringBoot项目集成Mybatis Plus(二)代码生成器

承接上文,接着开始最基础的代码开发,使用Mybatis Plus的代码生成器,简化流程式的开发工作。

1、引入maven依赖,

<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-generator</artifactId>
    <version>3.2.0</version>
</dependency>
<dependency>
    <groupId>org.apache.velocity</groupId>
    <artifactId>velocity-engine-core</artifactId>
    <version>2.0</version>
</dependency>

2、首先实现代码生成器配置类:

import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.config.*;
import com.baomidou.mybatisplus.generator.config.po.TableFill;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;

import java.util.ArrayList;
import java.util.List;

public class CodeGenerator {
    public static void main(String[] args) {
        // 自定义需要填充的字段
        List<TableFill> tableFillList = new ArrayList<>();
        // 代码生成器
        AutoGenerator mpg = new AutoGenerator()
            .setGlobalConfig(
                // 全局配置
                new GlobalConfig()
                    .setOutputDir("codePath")//指定输出目录
                    .setFileOverride(true)// 是否覆盖文件
                    .setActiveRecord(true)// 开启 activeRecord 模式
                    .setEnableCache(false)// XML 二级缓存
                    .setBaseResultMap(true)// XML ResultMap
                    .setBaseColumnList(true)// XML columList
                    .setAuthor("alice")
                    // 自定义文件命名,注意 %s 会自动填充表实体属性!
                    .setMapperName("%sMapper")
                    .setXmlName("%sMapper")
                    .setServiceName("%sService")
                    .setServiceImplName("%sServiceImpl")
                    .setControllerName("%sController"))
            .setDataSource(
                // 数据源配置
                new DataSourceConfig()
                    .setDbType(DbType.MYSQL)// 数据库类型
                    .setDriverName("com.mysql.cj.jdbc.Driver")
                    .setUsername("root")
                    .setPassword("root")
                    .setUrl("jdbc:mysql://localhost:3306/poi?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8&useSSL=false"))
            .setStrategy(
                // 策略配置
                new StrategyConfig()
                    // .setCapitalMode(true)// 全局大写命名
                    // .setDbColumnUnderline(true)// 全局下划线命名
                    //.setTablePrefix(new String[]{"wp_"})// 指定表名前缀
                    .setNaming(NamingStrategy.underline_to_camel)// 表名生成策略
                    .setInclude("book") // 指定表名,不写会默认生成所有
                    // .setExclude(new String[]{"test"}) // 指定要排除的表
                    // 自定义实体父类
                    // .setSuperEntityClass("com.baomidou.demo.TestEntity")
                    // 自定义实体,公共字段
                    // .setSuperEntityColumns(new String[]{"id"})
                    .setTableFillList(tableFillList))
            .setPackageInfo(
                // 包配置
                new PackageConfig()
                    .setParent("book")// 自定义包路径
                    .setController("controller")
                    .setMapper("mapper")
                    .setEntity("entity")
                    .setService("service")
                    .setServiceImpl("service.impl"))            
            .setTemplate(
                // 关闭默认 xml 生成,调整生成 至 根目录
                new TemplateConfig().setXml(null)
            );

        // 执行生成
        mpg.execute();
    }
}

3、执行main方法,就会生成所需要的文件

猜你喜欢

转载自blog.csdn.net/suoyx/article/details/113770258
今日推荐