mybatis-plus代码生成器完整示例代码

Posted Star_陈

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mybatis-plus代码生成器完整示例代码相关的知识,希望对你有一定的参考价值。

直接代码展示:

package cn.qxstar;

import cn.qxstar.common.base.entity.BaseEntity;
import cn.qxstar.common.utils.web.controller.BaseController;
import com.baomidou.mybatisplus.generator.config.rules.DateType;
import org.junit.Test;

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 TestMP {

    /**
     * 代码生成    示例代码
     */
    @Test
    public void testGenerator() {
        //1. 全局配置
        GlobalConfig config = new GlobalConfig();
        config.setOpen(false)
                .setAuthor("莐星") // 作者
                .setOutputDir("D:\\\\softWare\\\\IDEA\\\\workspace\\\\chstar-blog\\\\chstar-service\\\\biz-service\\\\src\\\\main\\\\java") // 生成路径
                .setFileOverride(true)  // 文件覆盖
                .setIdType(IdType.ASSIGN_ID) // 主键策略 数字id
                .setServiceName("%sService")  // 设置生成的service接口的名
                .setMapperName("%sMapper")
                .setServiceImplName("%sServiceImpl")
                .setControllerName("%sController")
                .setSwagger2(true)
                .setBaseResultMap(true)
                .setBaseColumnList(true)
                .setXmlName("%sMapper")
                .setDateType(DateType.TIME_PACK);

        //2. 数据源配置
        DataSourceConfig dsConfig = new DataSourceConfig();
        dsConfig.setDbType(DbType.mysql)  // 设置数据库类型
                .setDriverName("com.mysql.cj.jdbc.Driver")
                .setUrl("jdbc:mysql://localhost:3306/chstar-blog?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&useSSL=true")
                .setUsername("root")
                .setPassword("123456");

        //3. 策略配置
        StrategyConfig stConfig = new StrategyConfig();
        stConfig.setCapitalMode(true) //全局大写命名
                .setLogicDeleteFieldName("deleted")
                //NamingStrategy.underline_to_camel下划线转驼峰命名  user_id -> userId
                .setNaming(NamingStrategy.underline_to_camel)
                .setEntityTableFieldAnnotationEnable(true)//开启实体注解
                .setRestControllerStyle(true)//rest风格controller
                .setChainModel(true)//链式setter
                .setSuperControllerClass(BaseController.class)//父类
                .setSuperEntityClass(BaseEntity.class)//父类
                .setControllerMappingHyphenStyle(true)//?
                .setTablePrefix("t_");//表名前缀

        //4. 包名策略配置
        PackageConfig pkConfig = new PackageConfig();
        pkConfig.setParent("cn.qxstar.biz_service")
                .setMapper("mapper")
                .setService("service")
                .setServiceImpl("service.impl")
                .setController("controller")
                .setEntity("entity")
                .setXml("mapper.xml");

        //5. 整合配置
        AutoGenerator ag = new AutoGenerator();

        ag.setGlobalConfig(config)
                .setDataSource(dsConfig)
                .setStrategy(stConfig)
                .setPackageInfo(pkConfig);

        //6. 执行
        ag.execute();
    }

以上是关于mybatis-plus代码生成器完整示例代码的主要内容,如果未能解决你的问题,请参考以下文章

Mybatis-Plus中的代码生成器AutoGenerator超详细解析!完整配置!

Mybatis-Plus中的代码生成器AutoGenerator超详细解析!完整配置!

Mybatis-Plus中的代码生成器AutoGenerator超详细解析!完整配置!

还在写CURD?试试这款基于mybatis-plus的springboot代码生成器

浅谈MyBatis-Plus学习之代码生成器

mybatis-plus代码生成器代码