当前位置: 首页 > wzjs >正文

电子书网站搭建教程微信支付开发者平台

电子书网站搭建教程,微信支付开发者平台,建设银行网站解除绑定,赣州建设网站公司在Spring Boot 微服务中集成 MyBatis-Plus (MP) 与集成原生 MyBatis (MB) 在配置上的主要不同点。MyBatis-Plus 是在 MyBatis 基础上进行的增强,它兼容 MyBatis 的所有配置方式,并提供了更简洁、更强大的配置选项。 相同点: 基础数据源配置 (DataSource…

在Spring Boot 微服务中集成 MyBatis-Plus (MP) 与集成原生 MyBatis (MB) 在配置上的主要不同点。MyBatis-Plus 是在 MyBatis 基础上进行的增强,它兼容 MyBatis 的所有配置方式,并提供了更简洁、更强大的配置选项。

相同点:

  1. 基础数据源配置 (DataSource Configuration):

    • 完全相同。 无论是使用原生 MB 还是 MP,在 application.ymlapplication.properties 文件中配置数据库连接信息的方式是一样的。Spring Boot 会自动配置数据源(通常是 HikariCP 连接池)。
      spring:datasource:url: jdbc:mysql://localhost:3306/my_service_db?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghaiusername: rootpassword: your_passworddriver-class-name: com.mysql.cj.jdbc.Driver# HikariCP Pool settings (optional, Spring Boot has defaults)hikari:maximum-pool-size: 10minimum-idle: 5connection-timeout: 30000
      
  2. 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);}
      }
      
  3. 类型别名包扫描 (Type Aliases Package Scanning):

    • 基本相同。 两者都可以使用 mybatis.type-aliases-package (原生 MB) 或 mybatis-plus.type-aliases-package (MP 推荐) 属性来指定实体类所在的包,以便在 XML 中或内部使用类名的简写。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
      
  4. 支持 mybatis-config.xml (Support for mybatis-config.xml):

    • 兼容性相同。 两者都支持通过 mybatis.config-location (原生 MB) 或 mybatis-plus.config-location (MP 推荐) 指定传统的 mybatis-config.xml 文件路径,用于进行一些 MyBatis 核心的、无法通过 properties 文件配置的设置(如自定义 TypeHandler、ObjectFactory、插件等)。但在 MP 中,由于其强大的配置能力,对 mybatis-config.xml 的依赖通常会减少。

不同点:

  1. 依赖项 (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 已经包含了 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>
      
  2. 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 条件构造器进行开发,对于基础 CRUD 和许多动态查询,你可能不需要编写任何 XML 文件,此时这个配置项就不是必需的(但通常建议配置以备不时之需或保持一致性)。
      mybatis-plus:mapper-locations: classpath*:/mapper/**/*.xml # Configure if using custom XML SQL
      
  3. 全局配置 (Global Configuration):

    • 原生 MB: 大部分全局配置需要在 mybatis-config.xml 中设置,或者通过有限的 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-caselog-impl: org.apache.ibatis.logging.stdout.StdOutImpl # Configure logging implementationglobal-config:db-config:id-type: assign_id # Default primary key strategy (Snowflake)logic-delete-field: deleted # Global logic delete field namelogic-delete-value: 1 # Logic deleted valuelogic-not-delete-value: 0 # Logic not deleted valuebanner: false # Disable MP banner on startup
      
    • MP 的 global-config 提供了对 ID 生成策略、逻辑删除、数据库基本配置(表名/字段名处理)、Banner 开关等 MP 特有功能的全局默认设置。
  4. 插件配置 (Plugin Configuration):

    • 原生 MB: 插件(如分页插件 PageHelper)通常需要单独引入依赖,并在 mybatis-config.xml 或通过 Java Bean 的方式进行配置和注册。
    • MP: 内置了许多常用插件(分页、乐观锁、多租户、防全表更新等),可以通过 application.yml/propertiesmybatis-plus.plugins.* 配置项直接启用和配置,更加方便和标准化。
      mybatis-plus:plugins:# Pagination Pluginpagination:max-limit: 500 # Max items per page# Optimistic Locker Pluginoptimistic-locker:enabled: true# Block Attack Plugin (Prevent full table update/delete)block-attack:enabled: true
      

总结:

配置项/方面原生 MyBatis (MB)MyBatis-Plus (MP)异同说明
依赖 Startermybatis-spring-boot-startermybatis-plus-boot-starter (包含前者)不同: 使用不同的 Starter
数据源配置spring.datasource.*spring.datasource.*相同: 由 Spring Boot 统一管理
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 配置内置常用插件,可通过 mybatis-plus.plugins.* 属性配置不同: MP 极大简化了常用插件的配置

总的来说,在 Spring Boot 微服务中,MyBatis-Plus 通过其 Boot Starter 和丰富的配置属性,极大的简化了 MyBatis 的集成和配置工作,尤其是对于全局设置和常用插件的使用。它在保持与原生 MyBatis 兼容性的同时,提供了更符合 Spring Boot “约定优于配置” 理念的方式。


文章转载自:

http://p9oAFxf4.rgtst.cn
http://dLjGpRCU.rgtst.cn
http://xqc3zs8B.rgtst.cn
http://occufhhY.rgtst.cn
http://0Cd5rNuu.rgtst.cn
http://hZAw463Q.rgtst.cn
http://KWFLH3Nb.rgtst.cn
http://OEKC03v3.rgtst.cn
http://8to3A4Cn.rgtst.cn
http://5EPYFgZQ.rgtst.cn
http://Zk9xDP0U.rgtst.cn
http://dUsNA31b.rgtst.cn
http://alxy65Xq.rgtst.cn
http://rxax15cg.rgtst.cn
http://BN0OvqSi.rgtst.cn
http://7PHErrve.rgtst.cn
http://cchcSMRB.rgtst.cn
http://wSsq5YMT.rgtst.cn
http://TzmEvS2v.rgtst.cn
http://RnmI8CPD.rgtst.cn
http://wkfFu4pd.rgtst.cn
http://wUM7R7RQ.rgtst.cn
http://p6CQadBX.rgtst.cn
http://weJwlcVz.rgtst.cn
http://ThJ4VLFS.rgtst.cn
http://V6uxx2jN.rgtst.cn
http://7PrwRTgk.rgtst.cn
http://RXzIYXpa.rgtst.cn
http://hKL8jK1C.rgtst.cn
http://m43kAIZj.rgtst.cn
http://www.dtcms.com/wzjs/631045.html

相关文章:

  • 网站 图片 自动往右移公司企业网页
  • 龙岗网站开发公司淮北市建筑
  • 做教师章节试题哪个网站内蒙古建设工程信息服务平台
  • 做网站不给源代码可用来制作网页的软件
  • 网站建设网络推广销售网页设计实训班
  • 备案没有商城可以做商城网站吗郑州app拉新项目
  • 站长查询seo是什么意思东莞网站外包
  • 已经有域名 怎么修改网站移动互联网时代的到来为很多企业提供了新的商业机会
  • 深圳网站制作建设公司推荐合肥制作企业网站
  • 网站开发 asp.net php网络推广培训中心
  • 网站的总体方案与功能设计上海物联网app开发公司
  • 请问如何做网站分销商城平台开发
  • 昆山网站建设苦瓜中铁建设集团门户网登录不上去
  • 怎么制作网站栏目页主页固定在网站底部
  • 网站建设公司推怎么给自己网站做搜索框
  • 上海元山建设有限公司网站深圳品牌设计公司哪家好
  • 如何关联网站与网站多多返利网站建设程序
  • 做电影网站有什么好处和坏处长春市制作网站费用
  • 网站推他网站线上营销的好处
  • gg服务器租用网站好用的wordpress
  • 做网站推广的销售电话开场白Wordpress如何接入visa支付
  • wordpress 好用插件深圳优化公司找高粱seo服务
  • 做网站可以卖别的牌子的产品吗企业网站建设属于什么科目
  • 企业在网站建设上的不足有哪些是外国人做的网站吗
  • 新手做电影网站好wordpress中文模板下载
  • 网站建设历史装修案例
  • 企业seo外包网站排名seo
  • 捡个校花做老婆是哪个网站的大连制作网站多少钱
  • 类似快手网站开发买了万网的域名跟定制网站还要买空间吗
  • 南京专业做网站公司怎么办?