关于mybatis-plus:mybatisplus代码生成器完整示例代码

48次阅读

共计 2420 个字符,预计需要花费 7 分钟才能阅读完成。

间接代码展现:

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")
                .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();}
}

正文完
 0