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

MybatisPlus代码生成器

程序员文章站 2024-03-19 20:43:34
...

1. 引入jar依赖

<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus</artifactId>
    <version>2.3</version>
</dependency>

代码生成器中用到的类都在 mybatis-plus-generate 包中,根据依赖关系可知只要引入 mybatis-plus 包即可。

MybatisPlus代码生成器

2. 代码生成器

public class MpGenerator {
    /**
     * <p>
     * MySQL 生成演示
     * </p>
     */
    public static void main(String[] args) {
        // 全局配置
        GlobalConfig gc = new GlobalConfig();
        gc.setOutputDir("E://MpTmp");   //生成文件的保存路径
        gc.setFileOverride(true);       //文件覆盖,覆盖已存在的同名目录文件
        gc.setActiveRecord(true);       // AR特性
        gc.setEnableCache(true);        //开启二级缓存,<cache type="org.mybatis.caches.ehcache.LoggingEhcache"/>
        gc.setBaseResultMap(true);      //生成通用查询映射结果,BaseResultMap
        gc.setBaseColumnList(true);     //生成通用查询结果列,Base_Column_List
        gc.setIdType(IdType.AUTO);      //主键生成策略:AUTO(数据库自增)、INPUT(用户输入)、ID_WORKER(全局唯一ID,默认)、UUID(全局唯一ID,uuid)
        gc.setServiceName("%sService"); //如果不设置该属性,则生成的Service接口会带上前缀I -> IUserService
//        gc.setAuthor("zhouyue");      //作者

        // 数据源配置
        DataSourceConfig dsc = new DataSourceConfig();
        dsc.setDbType(DbType.MYSQL);
        dsc.setDriverName("com.mysql.jdbc.Driver");
        dsc.setUsername("root");
        dsc.setPassword("123");
        dsc.setUrl("jdbc:mysql://192.168.20.7:3306/test?characterEncoding=utf8");

        // 策略配置
        StrategyConfig sc = new StrategyConfig();
        sc.setDbColumnUnderline(true);   //数据库中表名、字段名是否以下划线方式命名的
        sc.setNaming(NamingStrategy.underline_to_camel); //实体类名生成策略,underline_to_camel(驼峰方式)
        sc.setInclude("tb_user");    //需要生成对应实体类的表
//        sc.setCapitalMode(true);       //全局大写命名??? 不知道干啥的

        // 包配置
        PackageConfig pc = new PackageConfig();
        pc.setParent("com.test.application");     //包名
        pc.setModuleName("domain");   //模块名

        AutoGenerator ag = new AutoGenerator();
        ag.setGlobalConfig(gc);
        ag.setDataSource(dsc);
        ag.setStrategy(sc);
        ag.setPackageInfo(pc);

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

3. 生成的内容

Controller类、Service接口、Service接口实现、Mapper接口、Mapper映射文件、实体类