1. 程式人生 > 程式設計 >MyBatis-Plus程式碼生成器的使用詳解

MyBatis-Plus程式碼生成器的使用詳解

1.引入依賴

 <!--mybatisplus依賴-->
  <dependency>
      <groupId>com.baomidou</groupId>
      <artifactId>mybatis-plus-boot-starter</artifactId>
      <version>3.0.5</version>
    </dependency>
    <!--程式碼生成模板-->
    <dependency>
      <groupId>org.apache.velocity</groupId>
      <artifactId>velocity-engine-core</artifactId>
      <version>2.0</version>
    </dependency>

2.生成器程式碼

public class CodeEasy {
  public static void main(String[] args) {

    //建立程式碼生成器物件
    AutoGenerator autoGenerator=new AutoGenerator();
    
    // 1.全域性配置
    GlobalConfig globalConfig=new GlobalConfig();
    
    globalConfig.setActiveRecord(true)//是否支援AR模式
          .setAuthor("wsy")//作者
          .setOutputDir("G://MybatisPlus/mybatisplus/src/main/java")//生成路徑
          .setOpen(false)//是否開啟資源管理器
          .setFileOverride(true)//生成檔案覆蓋
          .setIdType(IdType.AUTO)//主鍵策略
          .setServiceName("%sService")//設定生成service介面的名字首字母是否為I
          .setDateType(DateType.ONLY_DATE);
    autoGenerator.setGlobalConfig(globalConfig);

    //2.設定資料來源
    DataSourceConfig dsc=new DataSourceConfig();
    dsc.setUrl("jdbc:mysql://localhost:3306/mybatis_plus?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC&characterEncoding=UTF-8");
    dsc.setDriverName("com.mysql.cj.jdbc.Driver");
    dsc.setUsername("root");
    dsc.setPassword("root");
    dsc.setDbType(DbType.MYSQL);
    autoGenerator.setDataSource(dsc);


    //3.包的配置
    PackageConfig pc=new PackageConfig();
   // pc.setModuleName("mybatisplus");//設定模組名
    pc.setParent("com.sise");
    pc.setEntity("bean");
    pc.setMapper("mapper");
    pc.setService("service");
    pc.setController("controller");
    autoGenerator.setPackageInfo(pc);

    //4.策略配置
    StrategyConfig strategy = new StrategyConfig();
    strategy.setInclude("user"); // 設定要對映的表名
    strategy.setNaming(NamingStrategy.underline_to_camel);//設定命名規則,允許駝峰命名
    strategy.setColumnNaming(NamingStrategy.underline_to_camel);//設定命名規則,允許列駝峰命名
    strategy.setEntityLombokModel(true); // 自動lombok;
    strategy.setLogicDeleteFieldName("deleted");//設定邏輯刪除的名字
    // 自動填充配置
    TableFill gmtCreate = new TableFill("gmt_create",FieldFill.INSERT);//設定自動填充建立時間
    TableFill gmtModified = new TableFill("gmt_modified",FieldFill.INSERT_UPDATE);//設定自動填充修改時間
    ArrayList<TableFill> tableFills = new ArrayList<>();
    tableFills.add(gmtCreate);
    tableFills.add(gmtModified);
    strategy.setTableFillList(tableFills);
    // 樂觀鎖
    strategy.setVersionFieldName("version");
    strategy.setRestControllerStyle(true);//controller層使用rest風格
    strategy.setControllerMappingHyphenStyle(true); //localhost:8080/hello_id_2
    autoGenerator.setStrategy(strategy);

    autoGenerator.execute();

  }
}

3.執行後生成的結果

MyBatis-Plus程式碼生成器的使用詳解

到此這篇關於MyBatis-Plus程式碼生成器的使用詳解的文章就介紹到這了,更多相關MyBatis-Plus 程式碼生成器內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!