欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MyBatis Mapper.xml核心屬性示例詳解

 更新時間:2025年07月09日 09:37:18   作者:代碼的余溫  
文章詳解MyBatis Mapper.xml中statement標簽的核心屬性,涵蓋SQL映射、執(zhí)行控制、緩存管理及動態(tài)SQL,強調靈活配置對開發(fā)效率和系統(tǒng)性能的重要性,感興趣的朋友一起看看吧

在 MyBatis 的 Mapper.xml 文件中,statement 標簽(如 <select>、<insert> 等)包含多個關鍵屬性,用于定義 SQL 語句的行為和映射規(guī)則。以下是核心屬性及其含義:

?? 一、基礎屬性

  1. id

    • 作用:當前命名空間下 SQL 語句的唯一標識,必須與對應 Mapper 接口的方法名一致。
    • 示例<select id="getUserById" ...> 對應接口方法 User getUserById(int id)。
  2. parameterType

    • 作用:指定輸入?yún)?shù)的類型(如 java.lang.Integer 或 POJO 全限定名),可省略(MyBatis 會自動推斷)。
    • 注意:舊版本支持 parameterMap,但已不推薦使用。
  3. resultType

    • 作用:將查詢結果映射為 Java 對象類型(需列名與屬性名一致)。
    • 示例resultType="com.example.User" 表示結果映射為 User 對象。
  4. resultMap

    • 作用:通過自定義映射規(guī)則處理復雜結果集(如字段名與屬性名不一致或嵌套對象)。
    • resultType 二選一,優(yōu)先使用 resultMap 應對復雜場景。

?? 二、高級控制屬性

  1. statementType

    • 取值
      • STATEMENT:直接執(zhí)行 SQL,無預編譯(易受 SQL 注入風險)。
      • PREPARED(默認):預編譯 SQL,參數(shù)占位符為 #{}
      • CALLABLE:調用存儲過程。
    • 示例<select statementType="CALLABLE"> 用于執(zhí)行存儲過程。
  2. useGeneratedKeys

    • 作用:啟用 JDBC 主鍵回寫(如 MySQL 自增 ID),需配合 keyProperty 指定接收屬性。
    • 示例<insert useGeneratedKeys="true" keyProperty="id">。
  3. timeout

    • 作用:設置 SQL 執(zhí)行超時時間(單位:秒),超時拋出異常。
  4. fetchSize

    • 作用:控制數(shù)據(jù)庫每次返回的最大記錄數(shù)(優(yōu)化大數(shù)據(jù)量查詢性能)。

?? 三、緩存與結果集控制

  1. flushCache

    • 作用:執(zhí)行后是否清空一級/二級緩存(默認 false,查詢不刷新)。
  2. resultSetType

    • 取值
      • FORWARD_ONLY(默認):單向遍歷結果集。
      • SCROLL_SENSITIVE:可滾動且敏感(實時反映數(shù)據(jù)庫變化)。
      • SCROLL_INSENSITIVE:可滾動但不敏感(快照模式)。
  3. useCache

    • 作用:是否將結果存入二級緩存(默認 true)。

?? 四、動態(tài) SQL 相關屬性

  1. databaseId

    • 作用:指定數(shù)據(jù)庫廠商(如 mysql、oracle),用于多數(shù)據(jù)庫適配。
  2. lang

    • 作用:指定動態(tài) SQL 語言驅動(如自定義腳本語言)。

總結

MyBatis 的 statement 屬性通過靈活配置平衡了 SQL 控制力與開發(fā)效率,核心在于:

  • 基礎映射idresultType/resultMap 實現(xiàn)對象關系映射。
  • 性能優(yōu)化timeout、fetchSize 等提升執(zhí)行效率。
  • 安全與擴展statementType 和動態(tài) SQL 支持復雜場景。

到此這篇關于MyBatis Mapper.xml核心屬性詳解的文章就介紹到這了,更多相關MyBatis Mapper.xml核心屬性內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 詳解spring Boot 集成 Thymeleaf模板引擎實例

    詳解spring Boot 集成 Thymeleaf模板引擎實例

    本篇文章主要介紹了spring Boot 集成 Thymeleaf模板引擎實例,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-09-09
  • Java語言實現(xiàn)掃雷游戲(1)

    Java語言實現(xiàn)掃雷游戲(1)

    這篇文章主要為大家詳細介紹了Java語言實現(xiàn)的掃雷游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-04-04
  • Java圖形界面超實用使用教程

    Java圖形界面超實用使用教程

    在Java編程中圖形界面應用程序是非常常見和重要的一部分,下面這篇文章主要給大家介紹了關于Java圖形界面的相關資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-01-01
  • java實現(xiàn)上傳圖片進行切割的方法

    java實現(xiàn)上傳圖片進行切割的方法

    這篇文章主要介紹了java實現(xiàn)上傳圖片進行切割的方法,以完整實例形式分析了Java針對上傳圖片進行切割的技巧,非常具有實用價值,需要的朋友可以參考下
    2015-02-02
  • java中throws與try...catch的區(qū)別點

    java中throws與try...catch的區(qū)別點

    在本篇文章里小編給大家整理了一篇關于java中throws與try...catch的區(qū)別點的內容,需要的朋友們跟著學習下。
    2020-02-02
  • Java運算符的常見問題與用法小結

    Java運算符的常見問題與用法小結

    這篇文章主要介紹了Java運算符,結合實例形式總結分析了Java各種常見運算符,包括算術運算符、比較運算符、邏輯運算符、位運算符等相關功能、原理與使用技巧,需要的朋友可以參考下
    2020-04-04
  • java數(shù)據(jù)結構和算法之馬踏棋盤算法

    java數(shù)據(jù)結構和算法之馬踏棋盤算法

    這篇文章主要為大家詳細介紹了java數(shù)據(jù)結構和算法之馬踏棋盤算法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • navicatdesignquery.sql.bak系統(tǒng)找不到指定路徑錯誤的解決方法

    navicatdesignquery.sql.bak系統(tǒng)找不到指定路徑錯誤的解決方法

    今天小編就為大家分享一篇關于navicatdesignquery.sql.bak系統(tǒng)找不到指定路徑錯誤的解決方法,小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-12-12
  • SpringBoot 如何實現(xiàn)自定義Redis序列化

    SpringBoot 如何實現(xiàn)自定義Redis序列化

    這篇文章主要介紹了SpringBoot 如何實現(xiàn)自定義Redis序列化方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • Spring中事務幾個常見的問題解決

    Spring中事務幾個常見的問題解決

    這篇文章主要介紹了Spring中事務幾個常見的問題解決,事務這個概念是數(shù)據(jù)庫層面的,Spring只是基于數(shù)據(jù)庫中的事務進行擴展,以及提供了一些能讓程序員更新方便操作事務的方式
    2022-08-08

最新評論