最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Spring?Boot?微服務(wù)中集成?MyBatis-Plus?與集成原生?MyBatis在配置上的不同

 更新時間:2025年04月17日 09:41:34   作者:冰糖心書房  
在Spring?Boot微服務(wù)中,MyBatis-Plus通過其Boot?Starter和豐富的配置屬性,極大的簡化了MyBatis的集成和配置工作,尤其是對于全局設(shè)置和常用插件的使用,本文給大家介紹Spring?Boot?微服務(wù)中集成?MyBatis-Plus與集成原生?MyBatis?有哪些配置上的不同,感興趣的朋友一起看看吧

在Spring Boot 微服務(wù)中集成 MyBatis-Plus (MP) 與集成原生 MyBatis (MB) 在配置上的主要不同點。MyBatis-Plus 是在 MyBatis 基礎(chǔ)上進行的增強,它兼容 MyBatis 的所有配置方式,并提供了更簡潔、更強大的配置選項。

相同點:

基礎(chǔ)數(shù)據(jù)源配置 (DataSource Configuration):

完全相同。

無論是使用原生 MB 還是 MP,在 application.ymlapplication.properties 文件中配置數(shù)據(jù)庫連接信息的方式是一樣的。Spring Boot 會自動配置數(shù)據(jù)源(通常是 HikariCP 連接池)。

spring:
  datasource:
    url: jdbc:mysql://localhost:3306/my_service_db?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
    username: root
    password: your_password
    driver-class-name: com.mysql.cj.jdbc.Driver
    # HikariCP Pool settings (optional, Spring Boot has defaults)
    hikari:
      maximum-pool-size: 10
      minimum-idle: 5
      connection-timeout: 30000

Mapper 接口掃描 (Mapper Interface Scanning):

完全相同。 兩者都需要使用 @MapperScan 注解來告訴 Spring Boot 在哪個包路徑下查找 Mapper 接口。

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
@MapperScan("com.yourcompany.yourservice.mapper") // Specify the package containing your Mapper interfaces
public class YourServiceApplication {
    public static void main(String[] args) {
        SpringApplication.run(YourServiceApplication.class, args);
    }
}

類型別名包掃描 (Type Aliases Package Scanning):

基本相同。

兩者都可以使用 mybatis.type-aliases-package (原生 MB) 或 mybatis-plus.type-aliases-package (MP 推薦) 屬性來指定實體類所在的包,以便在 XML 中或內(nèi)部使用類名的簡寫。MP 也兼容原生的屬性。

# Using MyBatis-Plus recommended property
mybatis-plus:
  type-aliases-package: com.yourcompany.yourservice.entity
# Or using the native MyBatis property (MP is compatible)
# mybatis:
#  type-aliases-package: com.yourcompany.yourservice.entity

支持 mybatis-config.xml (Support for mybatis-config.xml):

兼容性相同。 兩者都支持通過 mybatis.config-location (原生 MB) 或 mybatis-plus.config-location (MP 推薦) 指定傳統(tǒng)的 mybatis-config.xml 文件路徑,用于進行一些 MyBatis 核心的、無法通過 properties 文件配置的設(shè)置(如自定義 TypeHandler、ObjectFactory、插件等)。但在 MP 中,由于其強大的配置能力,對 mybatis-config.xml 的依賴通常會減少。

不同點:

依賴項 (Dependencies):

原生 MB: 需要引入 mybatis-spring-boot-starter。

<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>...</version> <!-- Use compatible version -->
</dependency>

MP: 需要引入 mybatis-plus-boot-starter。注意:mybatis-plus-boot-starter 已經(jīng)包含了 mybatis-spring-boot-starter,所以不需要重復引入原生 MB 的 starter。

<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>...</version> <!-- Use compatible version, e.g., 3.5.x -->
</dependency>

Mapper XML 文件位置 (Mapper XML Location):

原生 MB: 必須通過 mybatis.mapper-locations 配置項指定 Mapper XML 文件的路徑,因為核心 SQL 都寫在 XML 中。

mybatis:
  mapper-locations: classpath*:/mapper/**/*.xml

MP: 如果你還需要編寫自定義的 SQL 在 XML 文件中(MP 完全支持混合使用),那么也需要配置 mybatis-plus.mapper-locations (推薦) 或 mybatis.mapper-locations。但如果你主要依賴 MP 提供的通用 Mapper (BaseMapper) 和 Wrapper 條件構(gòu)造器進行開發(fā),對于基礎(chǔ) CRUD 和許多動態(tài)查詢,你可能不需要編寫任何 XML 文件,此時這個配置項就不是必需的(但通常建議配置以備不時之需或保持一致性)。

mybatis-plus:
  mapper-locations: classpath*:/mapper/**/*.xml # Configure if using custom XML SQL

全局配置 (Global Configuration):

原生 MB: 大部分全局配置需要在 mybatis-config.xml 中設(shè)置,或者通過有限的 mybatis.configuration.* 屬性配置(如 map-underscore-to-camel-case)。

MP: 提供了更豐富的 application.yml/properties 配置項來控制全局行為,主要通過 mybatis-plus.global-config.*mybatis-plus.configuration.*。

mybatis-plus:
  configuration:
    map-underscore-to-camel-case: true # Same as mybatis.configuration.map-underscore-to-camel-case
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl # Configure logging implementation
  global-config:
    db-config:
      id-type: assign_id # Default primary key strategy (Snowflake)
      logic-delete-field: deleted # Global logic delete field name
      logic-delete-value: 1 # Logic deleted value
      logic-not-delete-value: 0 # Logic not deleted value
    banner: false # Disable MP banner on startup

MP 的 global-config 提供了對 ID 生成策略、邏輯刪除、數(shù)據(jù)庫基本配置(表名/字段名處理)、Banner 開關(guān)等 MP 特有功能的全局默認設(shè)置。

插件配置 (Plugin Configuration):

  • 原生 MB: 插件(如分頁插件 PageHelper)通常需要單獨引入依賴,并在 mybatis-config.xml 或通過 Java Bean 的方式進行配置和注冊。
  • MP: 內(nèi)置了許多常用插件(分頁、樂觀鎖、多租戶、防全表更新等),可以通過 application.yml/propertiesmybatis-plus.plugins.* 配置項直接啟用和配置,更加方便和標準化。
mybatis-plus:
  plugins:
    # Pagination Plugin
    pagination:
      max-limit: 500 # Max items per page
    # Optimistic Locker Plugin
    optimistic-locker:
      enabled: true
    # Block Attack Plugin (Prevent full table update/delete)
    block-attack:
      enabled: true

總結(jié):

配置項/方面原生 MyBatis (MB)MyBatis-Plus (MP)異同說明
依賴 Startermybatis-spring-boot-startermybatis-plus-boot-starter (包含前者)不同: 使用不同的 Starter
數(shù)據(jù)源配置spring.datasource.*spring.datasource.*相同: 由 Spring Boot 統(tǒng)一管理
Mapper 接口掃描@MapperScan@MapperScan相同: 都需要指定 Mapper 包路徑
類型別名包mybatis.type-aliases-packagemybatis-plus.type-aliases-package (推薦, 兼容前者)基本相同: 功能一致,MP 推薦使用其命名空間
Mapper XML 位置mybatis.mapper-locations (通常必需)mybatis-plus.mapper-locations (推薦, 僅當使用 XML 時必需)異同: 屬性名推薦不同,對 XML 的依賴程度 MP 更低
mybatis-config.xmlmybatis.config-location (較常用)mybatis-plus.config-location (推薦, 兼容前者, 依賴度降低)異同: 都支持,但 MP 通過 properties 提供了更多配置項,減少了對 XML 的需要
全局配置主要在 XML 或有限的 mybatis.configuration.*更豐富的 mybatis-plus.global-config.*mybatis-plus.configuration.* 屬性不同: MP 的 Properties 配置能力更強
插件配置通常需額外依賴 + XML/Bean 配置內(nèi)置常用插件,可通過 mybatis-plus.plugins.* 屬性配置不同: MP 極大簡化了常用插件的配置

總的來說,在 Spring Boot 微服務(wù)中,MyBatis-Plus 通過其 Boot Starter 和豐富的配置屬性,極大的簡化了 MyBatis 的集成和配置工作,尤其是對于全局設(shè)置和常用插件的使用。它在保持與原生 MyBatis 兼容性的同時,提供了更符合 Spring Boot “約定優(yōu)于配置” 理念的方式。

到此這篇關(guān)于Spring Boot 微服務(wù)中集成 MyBatis-Plus 與集成原生 MyBatis在配置上的不同的文章就介紹到這了,更多相關(guān)Spring Boot 集成 MyBatis-Plus 與 MyBatis內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 詳解springboot中mybatis注解形式

    詳解springboot中mybatis注解形式

    在本文中小編給大家分享了關(guān)于springboot中mybatis注解形式的介紹,有興趣的可以跟著學習下。
    2018-10-10
  • Spring Boot利用Thymeleaf發(fā)送Email的方法教程

    Spring Boot利用Thymeleaf發(fā)送Email的方法教程

    spring Boot默認就是使用thymeleaf模板引擎的,下面這篇文章主要給大家介紹了關(guān)于在Spring Boot中利用Thymeleaf發(fā)送Email的方法教程,文中通過示例代碼介紹的非常詳細,對大家具有一定的參考學習價值,需要的朋友們下面來一起看看吧。
    2017-08-08
  • SpringBoot整合iText7導出PDF及性能優(yōu)化方式

    SpringBoot整合iText7導出PDF及性能優(yōu)化方式

    在SpringBoot項目中整合iText7庫以導出PDF文件,不僅能夠滿足報告生成需求,而且可以處理復雜的文檔布局與樣式,整合步驟包括添加Maven依賴、編寫PDF生成代碼,性能優(yōu)化方面,建議使用流式處理、緩存樣式與字體、優(yōu)化HTML/CSS結(jié)構(gòu)、采用異步處理
    2024-09-09
  • Spring Boot啟動過程(五)之Springboot內(nèi)嵌Tomcat對象的start教程詳解

    Spring Boot啟動過程(五)之Springboot內(nèi)嵌Tomcat對象的start教程詳解

    這篇文章主要介紹了Spring Boot啟動過程(五)之Springboot內(nèi)嵌Tomcat對象的start的相關(guān)資料,需要的朋友可以參考下
    2017-04-04
  • Spring中的PathVariable注釋解析

    Spring中的PathVariable注釋解析

    這篇文章主要介紹了Spring中的PathVariable注釋用法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • spring security集成cas實現(xiàn)單點登錄過程

    spring security集成cas實現(xiàn)單點登錄過程

    這篇文章主要介紹了spring security集成cas實現(xiàn)單點登錄過程,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • SpringBoot如何獲取Kafka的Topic列表

    SpringBoot如何獲取Kafka的Topic列表

    這篇文章主要介紹了SpringBoot如何獲取Kafka的Topic列表問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • 淺談Java內(nèi)省機制

    淺談Java內(nèi)省機制

    本文主要介紹了Java內(nèi)省機制,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-08-08
  • Java數(shù)組隊列及環(huán)形數(shù)組隊列超詳細講解

    Java數(shù)組隊列及環(huán)形數(shù)組隊列超詳細講解

    隊列是一個有序列表,可以用數(shù)組和鏈表來實現(xiàn),隊列有一個原則。即:先存入隊列的數(shù)據(jù)要先取出,后存入的要后取出,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習吧
    2022-09-09
  • Java中輸入單個char類型的字符方式

    Java中輸入單個char類型的字符方式

    這篇文章主要介紹了Java中輸入單個char類型的字符方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-02-02

最新評論

南岸区| 太和县| 蕉岭县| 南澳县| 南澳县| 德江县| 凌海市| 安陆市| 西峡县| 高尔夫| 小金县| 碌曲县| 敦化市| 石柱| 资源县| 滁州市| 漳州市| 棋牌| 新蔡县| 安徽省| 云浮市| 醴陵市| 深圳市| 漳州市| 辛集市| 确山县| 吉水县| 枞阳县| 阜新| 通榆县| 建湖县| 太谷县| 浦东新区| 丹棱县| 黄冈市| 荃湾区| 临夏市| 宜川县| 车致| 云和县| 杭州市|