亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在SpringBoot中整合MybatisPlus

發布時間:2021-05-31 17:32:52 來源:億速云 閱讀:149 作者:Leah 欄目:編程語言

這篇文章給大家介紹怎么在SpringBoot中整合MybatisPlus,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

打開pom.xml文件,將最新的mybatis相關的包都引用進來。

<!-- 這是mysql的依賴 -->
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <scope>runtime</scope>
    </dependency>
    <!-- 這是lombok的依賴 -->
    <dependency>
      <groupId>org.projectlombok</groupId>
      <artifactId>lombok</artifactId>
      <optional>true</optional>
    </dependency>
    <!-- 這是mybatis-plus依賴 -->
    <dependency>
      <groupId>com.baomidou</groupId>
      <artifactId>mybatis-plus-boot-starter</artifactId>
      <version>3.1.1</version>
    </dependency>
    <!-- 這是mybatis-plus的代碼自動生成器 -->
    <dependency>
      <groupId>com.baomidou</groupId>
      <artifactId>mybatis-plus-generator</artifactId>
      <version>3.1.1</version>
    </dependency>
    <!-- 這是模板引擎依賴 -->
    <dependency>
      <groupId>org.freemarker</groupId>
      <artifactId>freemarker</artifactId>
      <version>2.3.28</version>
    </dependency>

需要對application.yml進行相關的配置。

  #端口號
  server:
   port: 8088
  #數據庫的配置信息
  spring:
   datasource:
    url: jdbc:mysql://localhost:3306/*** #自己的數據庫名稱
    username: root
    password: 123456
  mybatis:
   #開啟駝峰命名法
   configuration:
    map-underscore-to-camel-case: true
  mybatis-plus:
   # xml地址
   mapper-locations: classpath:mapper/*Mapper.xml
   # 實體掃描,多個package用逗號或者分號分隔
   type-aliases-package: ***  #自己的實體類地址
   configuration:
    # 這個配置會將執行的sql打印出來,在開發或測試的時候可以用
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

自動生成模塊的方法,在相應的位置上添加上自己的一些包名就可以運行生成相應的Entity、Mapper、Mapper XML、Service、Controller 等各個模塊的代碼。

public class CodeGenerator {

  /**
   * <p>
   * 讀取控制臺內容
   * </p>
   */
  public static String scanner(String tip) {
    Scanner scanner = new Scanner(System.in);
    StringBuilder help = new StringBuilder();
    help.append("請輸入" + tip + ":");
    System.out.println(help.toString());
    if (scanner.hasNext()) {
      String ipt = scanner.next();
      if (StringUtils.isNotEmpty(ipt)) {
        return ipt;
      }
    }
    throw new MybatisPlusException("請輸入正確的" + tip + "!");
  }

  public static void main(String[] args) {
    // 代碼生成器
    AutoGenerator mpg = new AutoGenerator();
    // 全局配置
    GlobalConfig gc = new GlobalConfig();
    String projectPath = System.getProperty("user.dir");
    gc.setOutputDir(projectPath + "/src/main/java");
    gc.setAuthor("jobob");
    gc.setOpen(false);
    // gc.setSwagger2(true); 實體屬性 Swagger2 注解
    mpg.setGlobalConfig(gc);

    // 數據源配置
    DataSourceConfig dsc = new DataSourceConfig();
    dsc.setUrl("jdbc:mysql://localhost:3306/***?useUnicode=true&useSSL=false&characterEncoding=utf8");
    // dsc.setSchemaName("public");
    dsc.setDriverName("com.mysql.cj.jdbc.Driver");
    dsc.setUsername("root");
    dsc.setPassword("***");
    mpg.setDataSource(dsc);

    // 包配置
    PackageConfig pc = new PackageConfig();
    //這里有個模塊名的配置,可以注釋掉不用。
//    pc.setModuleName(scanner("模塊名"));
    pc.setParent("com.zhouxiaoxi.www");
    mpg.setPackageInfo(pc);

    // 自定義配置
    InjectionConfig cfg = new InjectionConfig() {
      @Override
      public void initMap() {
        // to do nothing
      }
    };

    // 如果模板引擎是 freemarker
    String templatePath = "/templates/mapper.xml.ftl";
    // 如果模板引擎是 velocity
//     String templatePath = "/templates/mapper.xml.vm";

    // 自定義輸出配置
    List<FileOutConfig> focList = new ArrayList<>();
    // 自定義配置會被優先輸出
    focList.add(new FileOutConfig(templatePath) {
      @Override
      public String outputFile(TableInfo tableInfo) {
        // 自定義輸出文件名 , 如果你 Entity 設置了前后綴、此處注意 xml 的名稱會跟著發生變化!!
        return projectPath + "/src/main/resources/mapper/"
//            + + pc.getModuleName() + 如果放開上面的模塊名,這里就有一個模塊名了
            + "/" + tableInfo.getEntityName() + "Mapper" + StringPool.DOT_XML;
      }
    });
    /*
    cfg.setFileCreate(new IFileCreate() {
      @Override
      public boolean isCreate(ConfigBuilder configBuilder, FileType fileType, String filePath) {
        // 判斷自定義文件夾是否需要創建
        checkDir("調用默認方法創建的目錄");
        return false;
      }
    });
    */
    cfg.setFileOutConfigList(focList);
    mpg.setCfg(cfg);

    // 配置模板
    TemplateConfig templateConfig = new TemplateConfig();

    // 配置自定義輸出模板
    //指定自定義模板路徑,注意不要帶上.ftl/.vm, 會根據使用的模板引擎自動識別
    // templateConfig.setEntity("templates/entity2.java");
    // templateConfig.setService();
    // templateConfig.setController();

    templateConfig.setXml(null);
    mpg.setTemplate(templateConfig);

    // 策略配置
    StrategyConfig strategy = new StrategyConfig();
    //數據庫表映射到實體的明明策略
    strategy.setNaming(NamingStrategy.underline_to_camel);
    //數據庫表字段映射到實體的命名策略, 未指定按照 naming 執行
    strategy.setColumnNaming(NamingStrategy.underline_to_camel);
    //自定義繼承的Entity類全稱,帶包名
//    strategy.setSuperEntityClass("***");
    strategy.setEntityLombokModel(true);
    strategy.setRestControllerStyle(true);
    //自定義繼承的Controller類全稱,帶包名
//    strategy.setSuperControllerClass("***");
    strategy.setInclude(scanner("表名,多個英文逗號分割").split(","));
    //自定義基礎的Entity類,公共字段(可添加更多)
//    strategy.setSuperEntityColumns("id");
    //駝峰轉連字符
    strategy.setControllerMappingHyphenStyle(true);
    //表前綴
//    strategy.setTablePrefix(pc.getModuleName() + "_");
    mpg.setStrategy(strategy);
    mpg.setTemplateEngine(new FreemarkerTemplateEngine());
    mpg.execute();
  }

}

在生成的controller里面添加對應的方法啟動就可以正常進行訪問了。

怎么在SpringBoot中整合MybatisPlus

當然還需要在 Spring Boot 啟動類中添加 @MapperScan 注解,掃描 Mapper 文件夾:

@SpringBootApplication
@MapperScan("***.*.mapper") //對應你的mapper存放的地址
public class Application {

  public static void main(String[] args) {
    SpringApplication.run(QuickStartApplication.class, args);
  }

}

關于怎么在SpringBoot中整合MybatisPlus就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

大竹县| 白城市| 唐河县| 同德县| 奎屯市| 海晏县| 湟中县| 大冶市| 巢湖市| 彩票| 浏阳市| 永和县| 湄潭县| 苏尼特右旗| 长泰县| 吉木萨尔县| 汉川市| 咸阳市| 灵宝市| 陆丰市| 静宁县| 河津市| 滨州市| 兴文县| 扶风县| 阿坝县| 马尔康县| 白城市| 利川市| 南靖县| 景德镇市| 桃源县| 鄂尔多斯市| 宁陵县| 绍兴市| 江源县| 毕节市| 高淳县| 金平| 闽侯县| 牟定县|