tag Mybatis

標籤
貢獻29
128
06:37 AM · Oct 27 ,2025

@Mybatis / 博客 RSS 訂閱

程序員Seven - 《深入理解Mybatis原理》MyBatis事務管理機制

概述 對數據庫的事務而言,應該具有以下幾點:創建(create)、提交(commit)、回滾(rollback)、關閉(close)。對應地,MyBatis將事務抽象成了Transaction接口: MyBatis的事務管理分為兩種形式: 使用JDBC的事務管理機制:即利用java.sql.Connection對象完成對事務的提交(commit())、回滾(rollback())、關閉(cl

JAVA , 後端 , Mybatis

收藏 評論

小谷哥 - Hibernate 和 MyBatis 哪個更好用

由於編程思想與數據庫的設計模式不同,生出了一些 ORM 框架。核心都是將關係型數據庫和數據轉成對象型。當前流行的方案有 Hibernate 與 myBatis。兩者各有優劣。競爭激烈,其中一個比較重要的考慮的地方就是性能。因此筆者通過各種實驗,測出兩個在相同情景下的性能相關的指數,供大家參考。 測試目標 以下測試需要確定幾點內容:性能差異的場景;性能不在同場景下差異比;找出各架框優劣,各種情

hibernate , Mybatis

收藏 評論

威哥愛編程 - 2025春招,深度思考MyBatis面試題

大家好,我是V哥,2025年的春招馬上就是到來,正在準備求職的朋友過完年,也該收收心,好好思考一下自己哪些技術點還需要補一補了,今天 V 哥要跟大家聊的是MyBatis框架的問題,站在一個高級程序員的角度,我們要如何去思考面試官的問題,馬上開整。 在梳理面試問題之前,V 哥通過千場面試官經驗先從重點定位給大家一些建議,看看是不是這個道理。 前菜很重要 正在準備2025年春招的求職者,特別是針對My

面試 , JAVA , Mybatis

收藏 評論

半夏之沫 - ✨MyBatis✨整合Springboot多數據源實現

大家好,我是半夏之沫 😁😁 一名金融科技領域的JAVA系統研發😊😊 我希望將自己工作和學習中的經驗以最樸實,最嚴謹的方式分享給大家,共同進步👉💓👈 👉👉👉👉👉👉👉👉💓寫作不易,期待大家的關注和點贊💓👈👈👈👈👈👈👈👈 👉👉👉👉👉👉👉👉💓關注微信公眾號【技術探界】 💓👈👈👈👈👈👈👈👈 前言

spring , 多數據源 , springboot , Mybatis

收藏 評論

猿道 - SpringBoot解決406錯誤之返回對象缺少Getter/Setter方法引發的問題

問題背景 在本地環境下,我們以POST方式向Spring Boot應用發起請求,這是一個查詢部門信息的地址。 請求信息:http://localhost:8080/depts 當使用接口測試工具進行接口測試後,報錯如下: { "timestamp": "2025-04-13T10:46:20.933+00:00", "status": 406, "error": "Not

springboot , JAVA , Mybatis

收藏 評論

飛天鑄幣 - 在spring框架中mybatis可能會遇到的錯誤

聲明環境 數據庫:MySQL8.0 springboot框架:使用阿里雲的腳手架 Java:17 常見錯誤 MySQL密碼錯誤 數據庫密碼錯了,到你的application.properties配置文件檢查一下你的MySQL密碼是否輸錯了 找不到數據庫 找不到數據庫,到你的application.properties配置文件檢查一下你的數據庫是不是填錯了或少打多打都用可

springboot , JAVA , Mybatis

收藏 評論

飛天鑄幣 - mybastis動態sql解析異常

今天練習項目的時候爆了一個錯誤 它爆的錯誤我不認識,所有我想自己先找找看,但是找了好久還沒發現,於是乎問了一下deep seek,它告訴我這個錯誤是MyBatis的OGNL表達式解析異常,就是説在解析動態SQL語言中遇到了一個感嘆號,於是乎,我猜應該是mapper映射文件中的動態SQL寫錯了,找了一下還真是,附上粗心的代碼 在查詢語句的時候,由於粗心少些了一個=號就變成

springboot , JAVA , Mybatis

收藏 評論

飛天鑄幣 - spring常用註解

分享一些我最近都在用的關於spring和mybatis註解 Spring(Spring boot) 聲明bean註解 @Component 它是一個spring組件掃描的基礎註解,用於標識一個普通bean對象,當被spring的掃描器掃到時,會自動創建為bean對象並放入spring容器管理中其默認名稱是類名首字母小寫。 它可以被@Controller(控制層)、@Service(業務層)、

spring , JAVA , Mybatis

收藏 評論

舒一笑不禿頭 - 利用Mybatis自定義排序規則實現複雜排序

場景分析 本次需要實現規則是根據用户點擊目錄左側——彈出排序選項,文件名A-Z:英文A-Z → 中文A-Z → 數字0-9 ,文件名Z-A:與A-Z相反,最近更新時間:文件夾按文件夾修改時間,文檔按文檔修改時間。圖片直達鏈接 如何實現? 1.改造接口增加參數 /** * 排序類型: NAME_ASC(文件名A-Z), NAME_DESC(文件名Z-A), TIME_DESC(最

MySQL , 排序 , 程序員 , 後端 , Mybatis

收藏 評論

tiger1000 - MyBatis 的 in 查詢導致的bug

案例 分享一個很久之前的案例。 任務是:根據運營部門提供的門店列表,查詢門店詳情並生成報表。起初,我寫了這樣一段 SQL: select id="selectStores" resultType="Store" SELECT * FROM stores WHERE store_code foreach collection="storeIdList" item="store

Mybatis

收藏 評論

我不是碼農 - mybatis和mybatis-plus的json字段類型失效以及處理原理解析

最近接手一個老項目,進行json類型字段的對象映射,使用的是老版本的mybatis-plus(2.1.8),出現了一些問題 1、@TableFiled註解沒有typeHandler屬性,只能通過@TableField(el = "filed, typeHandler=xxx.TypeHandler")這種方式來配置 2、配置了@TableField(el = "filed, typeH

mybatis-plus , springboot , JAVA , Json , Mybatis

收藏 評論

悲傷的鴨蛋 - Mybatis常見運行報錯(持續更新...)

報錯一: Caused by: org.yaml.snakeyaml.error.YAMLException: java.nio.charset.MalformedInputException: Input length = 1 解決辦法: setting - Editor - File Encodings,編碼方式都選擇UTF-8 報錯二: Cause: java.sql

MySQL , JAVA , Mybatis , Web

收藏 評論

程序員Seven - 《深入理解Mybatis原理》Mybatis中的緩存實現原理

一級緩存實現 什麼是一級緩存? 為什麼使用一級緩存? 每當我們使用MyBatis開啓一次和數據庫的會話,MyBatis會創建出一個SqlSession對象表示一次數據庫會話。 在對數據庫的一次會話中,我們有可能會反覆地執行完全相同的查詢語句,如果不採取一些措施的話,每一次查詢都會查詢一次數據庫,而我們在極短的時間內做了完全相同的查詢,那麼它們的結果極有可能完全相同,由於查詢一次數據庫的代價很大,這

JAVA , 後端 , Mybatis

收藏 評論

王中陽講編程 - 面試必問:MyBatis 高頻面試題!

這些都是面試常見的問題,看看下面的問題你都能答得上來嗎? 1.什麼是 MyBatis?它有哪些主要特性和優勢? 2. mybatis 和數據庫交互的原理? 3. mybatis 中#{}、${}的區別 4. Mybatis 自帶連接池都有什麼? 5. Mybatis 的一級、二級緩存? 6. MyBatis 是如何進行分頁的?分頁插件的原理是什麼? 7. m

面試問題 , JAVA , 後端 , Mybatis

收藏 評論

程序員Seven - 《深入理解Mybatis原理》MyBatis數據源與連接池詳解

MyBatis數據源DataSource分類 MyBatis把數據源DataSource分為三種: UNPOOLED 不使用連接池的數據源 POOLED 使用連接池的數據源 JNDI 使用JNDI實現的數據源 相應地,MyBatis內部分別定義了實現了java.sql.DataSource接口的UnpooledDataSource,PooledDataSource類來表示UNPOOLED

JAVA , 後端 , Mybatis

收藏 評論

程序員Seven - 《深入理解Mybatis原理》Mybatis插件機制&分頁機制原理

源碼分析 插件機制 首先我們看下MyBatis攔截器的接口定義: public interface Interceptor { Object intercept(Invocation invocation) throws Throwable; Object plugin(Object target); void setProperties(Properties propertie

JAVA , 後端 , Mybatis

收藏 評論

程序員Seven - 《深入理解Mybatis原理》MyBatis動態SQL原理

引入 我們在使用mybatis的時候,會在xml中編寫sql語句。比如這段動態sql代碼: update id="update" parameterType="org.format.dynamicproxy.mybatis.bean.User" UPDATE users trim prefix="SET" prefixOverrides="," if test="n

JAVA , 後端 , Mybatis

收藏 評論

程序員Seven - 《深入理解Mybatis原理》MyBatis的sqlSession執行流程

sqlSessionFactory 與 SqlSession 正如其名,Sqlsession對應着一次數據庫會話。由於數據庫會話不是永久的,因此Sqlsession的生命週期也不應該是永久的,相反,在你每次訪問數據庫時都需要創建它(當然並不是説在Sqlsession裏只能執行一次sql,你可以執行多次,當一旦關閉了Sqlsession就需要重新創建它)。 那麼咱們就先看看是怎麼獲取SqlSessi

JAVA , 後端 , Mybatis

收藏 評論

程序員Seven - 《深入理解Mybatis原理》MyBatis配置解析過程

配置解析主體方法 public Configuration parse() { if (parsed) { throw new BuilderException("Each XMLConfigBuilder can only be used once."); } parsed = true; //源碼中沒有這一句,只有 parse

JAVA , 後端 , Mybatis

收藏 評論

程序員Seven - 《深入理解Mybatis原理》MyBatis初始化機制詳解

主要構件及其相互關係 主要構件: 主要的核心部件解釋如下: SqlSession: 作為MyBatis工作的主要頂層API,表示和數據庫交互的會話,完成必要數據庫增刪改查功能 Executor:MyBatis執行器,是MyBatis 調度的核心,負責SQL語句的生成和查詢緩存的維護 StatementHandler: 封裝了JDBC Statement操作,負責對JDBC stateme

JAVA , 後端 , Mybatis

收藏 評論

witt - mybatis升級到3.4.5後導致的偽bug

關鍵詞: mybatis、foreach、foreach context scope、MyBatis3.4.5、BindingException 背景: 隨着團隊開發人數越來越多,項目迭代越來越久,加上一些半吊子開發的盲目自信,項目如果不夠健壯,就會出現莫名其妙的問題,甚至讓測試團隊對某些開發一瞬間喪失全部信任。 起因是團隊有150多個服務的分佈式微服務項目,服務之間有RPC調用關係,也有公

spring , maven , mapper , JAVA , Mybatis

收藏 評論

JerryMa - Java ORM 哪家強?10個ORM框架測試對比與選型建議

前言: Java 領域的ORM(Object-Relational Mapping)框架有很多,各家的性能和使用體驗如何?本文將對比體驗以下的Java ORM框架,包括Spring JDBC、Spring Data JPA + Hibernate、QueryDSL、jOOQ、GraphQL、MyBatis、MyBatis-dynamic-sql、MyBatis-plus、Fluent-mybati

orm , jdbctemplate , mybatis-plus , jpa , Mybatis

收藏 評論

京東雲開發者 - Mybatis源碼解析之執行SQL語句

作者:鄭志傑 mybatis 操作數據庫的過程 // 第一步:讀取mybatis-config.xml配置文件 InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml"); // 第二步:構建SqlSessionFactory(框架初始化) SqlSessionFactory sqlSessionFac

源碼學習 , 數據庫 , SQL , 程序員 , Mybatis

收藏 評論

eacape - mybatis源碼筆記

目錄 開撕MyBatis源碼 1. 手寫持久層框架-ipersistent 1.1 JDBC操作數據庫\_問題分析 1.2 JDBC問題分析解決思路 1.3 自定義持久層框架\_思路分析 使用JDBC和使用持久層框架區別: 框架,除了思考本身的工程設計,還需要考慮到實際項

orm , 數據庫 , JAVA , 後端 , Mybatis

收藏 評論