天天看點

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

繼續閱讀