最近2018中文字幕在日韩欧美国产成人片_国产日韩精品一区二区在线_在线观看成年美女黄网色视频_国产精品一区三区五区_国产精彩刺激乱对白_看黄色黄大色黄片免费_人人超碰自拍cao_国产高清av在线_亚洲精品电影av_日韩美女尤物视频网站

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
使用Mybatisplus如何實(shí)現(xiàn)一個(gè)自動(dòng)代碼生成器

使用Mybatis plus 如何實(shí)現(xiàn)一個(gè)自動(dòng)代碼生成器?相信很多沒(méi)有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問(wèn)題出現(xiàn)的原因和解決方法,通過(guò)這篇文章希望你能解決這個(gè)問(wèn)題。

創(chuàng)新互聯(lián)專注于麻陽(yáng)網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供麻陽(yáng)營(yíng)銷型網(wǎng)站建設(shè),麻陽(yáng)網(wǎng)站制作、麻陽(yáng)網(wǎng)頁(yè)設(shè)計(jì)、麻陽(yáng)網(wǎng)站官網(wǎng)定制、小程序開(kāi)發(fā)服務(wù),打造麻陽(yáng)網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供麻陽(yáng)網(wǎng)站排名全網(wǎng)營(yíng)銷落地服務(wù)。

1.使用的是maven項(xiàng)目,添加依賴

 
    
     com.baomidou 
     mybatis-plus 
     2.2.0 
   

還有數(shù)據(jù)庫(kù)的連接

 
    MySQL 
    mysql-connector-java 
    compile 

最后是源碼

import com.baomidou.mybatisplus.generator.AutoGenerator; 
import com.baomidou.mybatisplus.generator.config.DataSourceConfig; 
import com.baomidou.mybatisplus.generator.config.GlobalConfig; 
import com.baomidou.mybatisplus.generator.config.PackageConfig; 
import com.baomidou.mybatisplus.generator.config.StrategyConfig; 
import com.baomidou.mybatisplus.generator.config.rules.DbType; 
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy; 
import org.junit.jupiter.api.Test; 
/** 
 * mybatis-plus 自動(dòng)生成代碼 
 * 
 * @author Terry 
 * @version 1.0 
 * @date 2018-05-16 09:35 
 */ 
public class SimpleMp { 
  @Test 
  public void generateCode() { 
    //指定包名 
    String packageName = "com.hciot.hhhh"; 
    //user -> UserService, 設(shè)置成true: user -> IUserService 
    boolean serviceNameStartWithI = false; 
    //指定生成的表名 
    String[] tableNames = new String[]{"data_air_sensor_co", "order_product", "relation_device_gateway"}; 
    generateByTables(serviceNameStartWithI, packageName, tableNames); 
  } 
  /** 
   * 根據(jù)表自動(dòng)生成 
   * 
   * @param serviceNameStartWithI 默認(rèn)為false 
   * @param packageName      包名 
   * @param tableNames      表名 
   * @author Terry 
   */ 
  private void generateByTables(boolean serviceNameStartWithI, String packageName, String... tableNames) { 
    //配置數(shù)據(jù)源 
    DataSourceConfig dataSourceConfig = getDataSourceConfig(); 
    // 策略配置 
    StrategyConfig strategyConfig = getStrategyConfig(tableNames); 
    //全局變量配置 
    GlobalConfig globalConfig = getGlobalConfig(serviceNameStartWithI); 
    //包名配置 
    PackageConfig packageConfig = getPackageConfig(packageName); 
    //自動(dòng)生成 
    atuoGenerator(dataSourceConfig, strategyConfig, globalConfig, packageConfig); 
  } 
  /** 
   * 集成 
   * 
   * @param dataSourceConfig 配置數(shù)據(jù)源 
   * @param strategyConfig  策略配置 
   * @param config      全局變量配置 
   * @param packageConfig  包名配置 
   * @author Terry 
   */ 
  private void atuoGenerator(DataSourceConfig dataSourceConfig, StrategyConfig strategyConfig, GlobalConfig config, PackageConfig packageConfig) { 
    new AutoGenerator() 
        .setGlobalConfig(config) 
        .setDataSource(dataSourceConfig) 
        .setStrategy(strategyConfig) 
        .setPackageInfo(packageConfig) 
        .execute(); 
  } 
  /** 
   * 設(shè)置包名 
   * 
   * @param packageName 父路徑包名 
   * @return PackageConfig 包名配置 
   * @author Terry 
   */ 
  private PackageConfig getPackageConfig(String packageName) { 
    return new PackageConfig() 
        .setParent(packageName) 
        .setXml("mapper") 
        .setMapper("dao") 
        .setController("controller") 
        .setEntity("entity"); 
  } 
  /** 
   * 全局配置 
   * 
   * @param serviceNameStartWithI false 
   * @return GlobalConfig 
   * @author Terry 
   */ 
  private GlobalConfig getGlobalConfig(boolean serviceNameStartWithI) { 
    GlobalConfig globalConfig = new GlobalConfig(); 
    globalConfig 
        .setBaseColumnList(true) 
        .setBaseResultMap(true) 
        .setActiveRecord(false) 
        .setAuthor("Terry") 
        //設(shè)置輸出路徑 
        .setOutputDir(getOutputDir("mybatis-plus")) 
        .setFileOverride(true); 
    if (!serviceNameStartWithI) { 
      //設(shè)置service名 
      globalConfig.setServiceName("%sService"); 
    } 
    return globalConfig; 
  } 
  /** 
   * 返回項(xiàng)目路徑 
   * 
   * @param projectName 項(xiàng)目名 
   * @return 項(xiàng)目路徑 
   * @author Terry 
   */ 
  private String getOutputDir(String projectName) { 
    String path = this.getClass().getClassLoader().getResource("").getPath(); 
    int index = path.indexOf(projectName); 
    return path.substring(1, index) + projectName + "/src/main/java/"; 
  } 
  /** 
   * 策略配置 
   * 
   * @param tableNames 表名 
   * @return StrategyConfig 
   * @author Terry 
   */ 
  private StrategyConfig getStrategyConfig(String... tableNames) { 
    return new StrategyConfig() 
        // 全局大寫(xiě)命名 ORACLE 注意 
        .setCapitalMode(true) 
        .setEntityLombokModel(false) 
        // 表名、字段名、是否使用下劃線命名(默認(rèn) false) 
        .setDbColumnUnderline(true) 
        //從數(shù)據(jù)庫(kù)表到文件的命名策略 
        .setNaming(NamingStrategy.underline_to_camel) 
        //需要生成的的表名,多個(gè)表名傳數(shù)組 
        .setInclude(tableNames); 
  } 
  /** 
   * 配置數(shù)據(jù)源 
   * 
   * @return 數(shù)據(jù)源配置 DataSourceConfig 
   * @author Terry 
   */ 
  private DataSourceConfig getDataSourceConfig() { 
    String dbUrl = "jdbc:mysql://localhost:3306/test"; 
    return new DataSourceConfig().setDbType(DbType.MYSQL) 
        .setUrl(dbUrl) 
        .setUsername("root") 
        .setPassword("root") 
        .setDriverName("com.mysql.jdbc.Driver"); 
  } 
  /** 
   * 根據(jù)表自動(dòng)生成 
   * 
   * @param packageName 包名 
   * @param tableNames 表名 
   * @author Terry 
   */ 
  @SuppressWarnings("unused") 
  private void generateByTables(String packageName, String... tableNames) { 
    generateByTables(true, packageName, tableNames); 
  } 
}

看完上述內(nèi)容,你們掌握使用Mybatis plus 如何實(shí)現(xiàn)一個(gè)自動(dòng)代碼生成器的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!


文章題目:使用Mybatisplus如何實(shí)現(xiàn)一個(gè)自動(dòng)代碼生成器
URL網(wǎng)址:http://fisionsoft.com.cn/article/ijijde.html