MyBatisPlus的代码生成器模板(IDEA+MAVEN)


与MBG的区别

MyBatis 的代码生成器可生成: 实体类、Mapper 接口、Mapper 映射文件

MP 的代码生成器可生成: 实体类(可以选择是否支持 AR)、Mapper 接口、Mapper 映射文件、 Service 层、Controller 层.

相比MBG,MP只需要进行纯Java代码的编写即可生成代码


MP生成器步骤

注:此处使用的是2.3版本的mybatis-plus,MySQL使用的是8.0.20版本

导入依赖


	com.baomidou
	mybatis-plus
	2.3



	junit
	junit
	4.13



	mysql
	mysql-connector-java
	8.0.20



	log4j
	log4j
	1.2.17



	com.mchange
	c3p0
	0.9.5.4



	org.springframework
	spring-orm
	5.3.9


	org.springframework
	spring-context
	5.3.9


	org.springframework
	spring-webmvc
	5.3.9




	org.apache.velocity
	velocity-engine-core
	2.0




	org.slf4j
	slf4j-api
	1.7.7


	org.slf4j
	slf4j-log4j12
	1.7.7

Java测试代码模板

import com.baomidou.mybatisplus.enums.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.DbType;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
import org.junit.Test;

public class TestMP {

    /**
     * 代码生成 示例代码
     */
    @Test
    public void testGenerator(){
        //1.全局配置
        GlobalConfig config = new GlobalConfig();
        config.setActiveRecord(true) //是否支持AR模式
            .setAuthor("blank")     //作者
            .setOutputDir("项目根路径的绝对路径\\src\\main\\java")     //生成路径
            .setFileOverride(true)      //文件覆盖
            .setIdType(IdType.AUTO)     //主键策略
            .setServiceName("%sService")     //设置生成的service接口的名字的首字母是否为I(IEmployeeService),此处为不设置首字母为I
            .setBaseResultMap(true)         //SQL映射文件中生成的
            .setBaseColumnList(true);

        //2.数据源配置
        DataSourceConfig dsConfig = new DataSourceConfig();
        dsConfig.setDbType(DbType.MYSQL) //设置数据库类型
                .setDriverName("com.mysql.cj.jdbc.Driver")
                .setUrl("jdbc:mysql://localhost:3306/数据库名?serverTimezone=UTC")
                .setUsername("用户名")
                .setPassword("密码");

        //3.策略配置
        StrategyConfig stConfig = new StrategyConfig();
        stConfig.setCapitalMode(true)       //开启全局大写命名
                .setDbColumnUnderline(true) //指定表明 字段名是否使用下划线
                .setNaming(NamingStrategy.underline_to_camel)   //数据库表映射到实体的命名策略
                .setTablePrefix("tbl_")
                .setInclude("tbl_employee");    //指定需要生成代码的数据库表

        //4.包名策略配置
        PackageConfig pkConfig = new PackageConfig();
        pkConfig.setParent("com.atguigu.mp")
                .setMapper("mapper")
                .setService("service")
                .setController("controller")
                .setEntity("beans")
                .setXml("mapper");

        //5.整合配置
        AutoGenerator ag = new AutoGenerator();
        ag.setGlobalConfig(config)
            .setDataSource(dsConfig)
            .setStrategy(stConfig)
            .setPackageInfo(pkConfig);

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

}

最后执行代码即可

生成结果如下所示