天天看点

MyBatis-Plus简单使用——AutoGenerator代码生成器(6)

AutoGenerator与MBG区别:

(1)、MP提供了大量自定义的设置,生成的代码完全能够满足各类型的需求;

(2)、MP的代码生生成器是基于Java代码来生成。MBG基于xml文件进行代码生成;

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

AutoGenerator却更加强大,可以生成service和controller,可以配置实体类是否支持AR等;

1、导入依赖:

<dependency>
    <groupId>org.apache.velocity</groupId>
    <artifactId>velocity-engine-core</artifactId>
    <version>2.0</version>
</dependency>
           
<!-- sfl4j -->
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>1.7.7</version>
</dependency>
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-log4j12</artifactId>
    <version>1.7.7</version>
</dependency>
           

2、编写配置类:

@Test
public void  testGenerator() {
    //1. 全局配置
    GlobalConfig config = new GlobalConfig();
    config.setActiveRecord(true) // 是否支持AR模式
            .setAuthor("weiyunhui") // 作者
            .setOutputDir("D:\\xueyi\\mybatis\\spring-mybatisplus-02\\src\\main\\java") // 生成路径
            .setFileOverride(true)  // 文件覆盖
            .setIdType(IdType.AUTO) // 主键策略
            .setEnableCache(false) //是否开启二级缓存
            .setServiceName("%sService")  // 设置生成的service接口的名字的首字母是否为I
            // IEmployeeService
            .setBaseResultMap(true)
            .setBaseColumnList(true);

    //2. 数据源配置
    DataSourceConfig  dsConfig  = new DataSourceConfig();
    dsConfig.setDbType(DbType.MYSQL)  // 设置数据库类型
            .setDriverName("com.mysql.jdbc.Driver")
            .setUrl("jdbc:mysql://localhost:3306/mplus")
            .setUsername("root")
            .setPassword("[email protected]");

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

    //4. 包名策略配置
    PackageConfig pkConfig = new PackageConfig();
    pkConfig.setParent("com.nn.mybatisplus")
            .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();
}
           
自动生成的service 继承了IService,包含了很多常用方法:
public interface UserService extends IService<User> {
}      

继续阅读