Mybatis-Plus代碼生成器


1.配置maven依賴pom.xml

<dependencies>  <!-- 數據庫驅動 -->  <dependency>  <groupId>mysql</groupId>  <artifactId>mysql-connector-java</artifactId>  </dependency>   <!-- lombok -->  <dependency>  <groupId>org.projectlombok</groupId>  <artifactId>lombok</artifactId>  </dependency>   <!-- mybatis-plus -->  <dependency>  <groupId>com.baomidou</groupId>  <artifactId>mybatis-plus-boot-starter</artifactId>  <version>3.0.5</version>  </dependency>   <!--MyBatis-Plus從3.0.3之后移除了代碼生成器與模板引擎的默認依賴,需要手動添加相關依賴-->  <!-- 代碼生成器 依賴 -->  <dependency>  <groupId>com.baomidou</groupId>  <artifactId>mybatis-plus-generator</artifactId>  <version>3.3.1</version>  </dependency>  <!-- 模板引擎 -->  <dependency>  <groupId>org.apache.velocity</groupId>  <artifactId>velocity-engine-core</artifactId>  <version>2.0</version>  </dependency> </dependencies>

2.配置數據庫連接

server:
  port: 8081
spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/test?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
    username: root
    password: root
    type: com.alibaba.druid.pool.DruidDataSource
mybatis-plus:
  mapper-locations: classpath:mapper/*.xml
  global-config:
    db-config:
      id-type: auto
      field-strategy: NOT_EMPTY
      db-type: MYSQL
  configuration:
    map-underscore-to-camel-case: true
    call-setters-on-nulls: true
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

3.配置mybatis-plus的代碼生成器

 
         
public class GeneratorCode {  public static void main(String[] args) {  // 構建一個代碼自動生成器對象  AutoGenerator mpg = new AutoGenerator();   // 配置策略  // 1、全局配置  GlobalConfig gc = new GlobalConfig();  String projectPath = System.getProperty("user.dir");  gc.setOutputDir(projectPath+"/src/main/java");  gc.setAuthor("作者");  gc.setOpen(false);  gc.setFileOverride(false); // 是否覆蓋  gc.setServiceName("%sService"); // 去Service的I前綴  gc.setIdType(IdType.AUTO); // 主鍵自增  gc.setDateType(DateType.ONLY_DATE); // 設置日期類型 // gc.setSwagger2(true); // 是否開啟swagger  mpg.setGlobalConfig(gc);   //2、設置數據源  DataSourceConfig dsc = new DataSourceConfig();  dsc.setUrl("jdbc:mysql://localhost:3306/數據庫名?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai");  dsc.setDriverName("com.mysql.cj.jdbc.Driver");  dsc.setUsername("root");  dsc.setPassword("密碼");  dsc.setDbType(DbType.MYSQL);  mpg.setDataSource(dsc);   //3、包的配置  PackageConfig pc = new PackageConfig(); // pc.setModuleName("test"); // 模塊名  pc.setParent("com.包名字"); // 父路徑  pc.setEntity("entity"); // 實體類包名  pc.setMapper("mapper"); // mapper包名  pc.setService("service"); // 業務層包名  pc.setController("controller"); // 控制層包名  mpg.setPackageInfo(pc);   //4、策略配置  StrategyConfig strategy = new StrategyConfig();  strategy.setInclude("表名1","表名2"); // 設置要映射的表名  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); // 駝峰命名 // strategy.setControllerMappingHyphenStyle(true); // 下划線轉駝峰  mpg.setStrategy(strategy);   mpg.execute(); //執行  } }
 

運行main()方法,會驚奇的發現多了很多文件


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM