欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

mybatis-plus 使用Generator 工具类自动生成dao 实体类 service mapper类

程序员文章站 2022-06-24 20:01:53
...

1.首先在pom文件引入以下包,我这里使用的是3.3.1版本。

<mybatis.plus.version>3.3.1</mybatis.plus.version>
<dependency>
			<groupId>com.baomidou</groupId>
			<artifactId>mybatis-plus-generator</artifactId>
			<version>${mybatis.plus.version}</version>
</dependency>

如果发现有问题报错,建议引入下面全量的包

<dependency>
			<groupId>com.baomidou</groupId>
			<artifactId>mybatis-plus-boot-starter</artifactId>
			<version>${mybatis.plus.version}</version>
		</dependency>
		<dependency>
			<groupId>com.baomidou</groupId>
			<artifactId>mybatis-plus-extension</artifactId>
			<version>${mybatis.plus.version}</version>
		</dependency>
		<dependency>
			<groupId>com.baomidou</groupId>
			<artifactId>mybatis-plus-core</artifactId>
			<version>${mybatis.plus.version}</version>
		</dependency>
		<dependency>
			<groupId>com.baomidou</groupId>
			<artifactId>mybatis-plus-generator</artifactId>
			<version>${mybatis.plus.version}</version>
</dependency>

2.新建生成代码工具类。

/*
 * @author fangtan
 * @version 1.0
 * @date 2021/5/24 17:18
 */
public class Generator {
    /**
     * @Title: main
     * @Description: 生成
     */
    public static void main(String[] args) {
        AutoGenerator mpg = new AutoGenerator();

        // 全局配置
        GlobalConfig gc = new GlobalConfig();
        //输出文件路径
        String property = System.getProperty("user.dir");
        gc.setOutputDir(property+"/src/main/java");
        gc.setFileOverride(true);
        // 不需要ActiveRecord特性的请改为false
        gc.setActiveRecord(false);
        // XML 二级缓存
        gc.setEnableCache(false);
        // XML ResultMap
        gc.setBaseResultMap(true);
        // XML columnList
        gc.setBaseColumnList(false);
        gc.setAuthor("fangtan");

        // 自定义文件命名,注意 %s 会自动填充表实体属性!
        gc.setServiceName("%sDao");
        gc.setServiceImplName("%sDaoImpl");
        gc.setMapperName("%sMapper");
        gc.setXmlName("%sMapper");
        mpg.setGlobalConfig(gc);

        // 数据源配置
        DataSourceConfig dsc = new DataSourceConfig();
        dsc.setDbType(DbType.MYSQL);
        dsc.setDriverName("com.mysql.jdbc.Driver");
        dsc.setUsername("root");
        dsc.setPassword("root");
        dsc.setUrl("jdbc:mysql://127.0.0.1:3306/test?useUnicodle=true&characterEncoding=utf8&useSSL=false&serverTimezone=UTC");
        mpg.setDataSource(dsc);

        // 策略配置
        StrategyConfig strategy = new StrategyConfig();
        // 表名生成策略
        strategy.setNaming(NamingStrategy.underline_to_camel);
        // 需要生成的表
        strategy.setInclude("sys_dict_data_copy");
//        strategy.setSuperMapperClass("com.servingcloud.cockroach.data.dao.BaseDao");
//        strategy.setSuperServiceClass("com.servingcloud.cockroach.data.service.BaseService");
//        strategy.setSuperServiceImplClass("com.servingcloud.cockroach.data.service.BaseServiceImpl");
        strategy.setEntityLombokModel(true);

        mpg.setStrategy(strategy);

        // 包配置
        PackageConfig pc = new PackageConfig();
        pc.setModuleName("template");
        pc.setParent("com.test.project");
        pc.setService("dao");
        pc.setServiceImpl("dao.impl");
        pc.setMapper("mapper");
        pc.setEntity("domain");
        pc.setXml("mapper");
        mpg.setPackageInfo(pc);
        // 执行生成
        mpg.execute();

        System.out.println("====================代码生成成功====================");
    }
}

3.生成目录如下
mybatis-plus 使用Generator 工具类自动生成dao 实体类 service mapper类

相关标签: 专业技能 java