天天看點

Mybatis——plus 代碼生成器

MybatisPlus 給我們提供了更加強大的代碼生成器

 # # 代碼生成器的簡單的對比

Mybatis——plus 代碼生成器

MybatisPlus 給我們提供的代碼生成器,不僅僅可以生成dao層,還可以生成 Service層,Controller層。

 # # 代碼生成器的使用注意事項

Mybatis——plus 代碼生成器

 # # 代碼生成器的使用注意事項

 使用代碼生成器的步驟

  • 我們自己提供一些配置檔案
Mybatis——plus 代碼生成器
  • 模闆引擎

    MP 的代碼生成器預設使用的是 Apache 的 Velocity 模闆,當然也可以更換為别的模闆技術,例如 freemarker。

<dependency>
    <groupId>org.apache.velocity</groupId>
    <artifactId>velocity-engine-core</artifactId>
    <version>2.0</version>
</dependency>      
  • 加入 slf4j ,檢視日志輸出資訊
<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>      
  • 生成示例代碼
@Test
public void testGenerator() {
    //1. 全局配置
    GlobalConfig config = new GlobalConfig();
    //是否支援AR模式
    config.setActiveRecord(true)
        .setAuthor("weiyunhui") //作者
        .setOutputDir("D:\\workspace_my\\mp03\\src\\main\\java")  //生成路徑
        .setFileOverride(true)//是否檔案覆寫,如果多次
        .setServiceName("%sService") //設定生成的service接口名首字母是否為I   
        .setIdType(IdType.AUTO) //主鍵政策
        .setServiceName("%sService")//設定生成的service接口的名字的首字母是否為I
        .setBaseResultMap(true)
        .setBaseColumnList(true);
     //2. 資料源配置
    DataSourceConfig dsConfig = new DataSourceConfig();
    dsConfig.setDbType(DbType.MYSQL)
        .setUrl("jdbc:mysql://localhost:3306/javaEE_0228")
        .setDriverName("com.mysql.jdbc.Driver")
        .setUsername("root")
        .setPassword("1234");
    //3.政策配置
    StrategyConfig stConfig = new StrategyConfig();
    stConfig.setCapitalMode(true) // 全局大寫命名
        .setDbColumnUnderline(true) //表名 字段名 是否使用下滑線命名
        .setNaming(NamingStrategy.underline_to_camel) // 資料庫表映射到實體的命名政策
        .setInclude("tbl_employee") //生成的表
        .setTablePrefix("tbl_"); // 表字首
    //4.包名政策
    PackageConfig pkConfig = new PackageConfig();
    pkConfig.setParent("com.atguigu.mp")//父包名
        .setController("controller")
        .setEntity("beans")
        .setService("service")
        .setMapper("mapper")
        .setXml("mapper");
    //5.整合配置
   AutoGenerator ag = new AutoGenerator().setGlobalConfig(config)
        .setDataSource(dsConfig)
        .setStrategy(stConfig)
        .setPackageInfo(pkConfig);
        ag.execute();
}