@Mybatis

动态 列表
@jeecg

MiniDao1.8.3 版本發佈,輕量級Java持久化框架

項目介紹 MiniDao 是一款輕量級JAVA持久層框架,基於 SpringJdbc + freemarker 實現,具備Mybatis一樣的SQL分離和邏輯標籤能力。Minidao產生的初衷是為了解決Hibernate項目,在複雜SQL具備Mybatis一樣的靈活能力,同時支持事務同步。 當前版本:v1.8.3 | 2021-08-09 源碼下載 https://github.com/zha

jeecg 头像

@jeecg

昵称 JEECG低代碼平台

@atguigu

Hibernate 和 MyBatis 哪個更好用

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

atguigu 头像

@atguigu

昵称 小谷哥

@witt7

mybatis升級到3.4.5後導致的偽bug

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

witt7 头像

@witt7

昵称 witt

@seven97_top

《深入理解Mybatis原理》MyBatis初始化機制詳解

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

seven97_top 头像

@seven97_top

昵称 程序員Seven

@seven97_top

《深入理解Mybatis原理》MyBatis的sqlSession執行流程

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

seven97_top 头像

@seven97_top

昵称 程序員Seven

@wangzhongyang_go

面試必問:MyBatis 高頻面試題!

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

wangzhongyang_go 头像

@wangzhongyang_go

昵称 王中陽講編程

@seven97_top

《深入理解Mybatis原理》MyBatis事務管理機制

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

seven97_top 头像

@seven97_top

昵称 程序員Seven

@seven97_top

《深入理解Mybatis原理》Mybatis中的緩存實現原理

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

seven97_top 头像

@seven97_top

昵称 程序員Seven

@banxiazhimo

✨MyBatis✨整合Springboot多數據源實現

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

banxiazhimo 头像

@banxiazhimo

昵称 半夏之沫

@finally_m

2025春招,深度思考MyBatis面試題

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

finally_m 头像

@finally_m

昵称 威哥愛編程

@shenchendexiaodao

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

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

shenchendexiaodao 头像

@shenchendexiaodao

昵称 猿道

@chen_67f9ccbe6f07b

深入理解 MyBatis 延遲加載機制與實現原理

作為 Java 後端開發,你是否曾經糾結過:查詢用户信息時,要不要把用户關聯的訂單、地址一起查出來?全部查詢性能肯定受影響,可不查又怕後面用到時反覆訪問數據庫。這種"查不查"的兩難抉擇,其實可以通過 MyBatis 的延遲加載機制漂亮解決。那麼問題來了,MyBatis 到底支持延遲加載嗎?它背後的實現原理又是什麼? MyBatis 的延遲加載支持情況 MyBatis 確實支持延遲加載(Lazy L

chen_67f9ccbe6f07b 头像

@chen_67f9ccbe6f07b

昵称 異常君

@changqingdezi

寫Mybatis沒代碼提示?試試這個插件!

🚀 最強 Mybatis 代碼提示插件 —— MybatisCodeHelperPro 在寫 Mybatis 的時候,XML 經常沒有代碼提示,開發體驗很差。最近發現了 IntelliJ 下的插件 MybatisCodeHelperPro,寫 Mybatis 代碼時全程代碼提示,非常方便! ✨ #{} 語句智能提示,支持複雜類型 寫 SQL 時輸入 #{},插件會自動提示可用參數,支持對象屬性

changqingdezi 头像

@changqingdezi

昵称 猴哥哈哈

@yizhidanshendetielian

在spring框架中mybatis可能會遇到的錯誤

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

yizhidanshendetielian 头像

@yizhidanshendetielian

昵称 飛天鑄幣

@yizhidanshendetielian

mybastis動態sql解析異常

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

yizhidanshendetielian 头像

@yizhidanshendetielian

昵称 飛天鑄幣

@yizhidanshendetielian

spring常用註解

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

yizhidanshendetielian 头像

@yizhidanshendetielian

昵称 飛天鑄幣