《深入理解Mybatis原理》MyBatis數據源與連接池詳解
MyBatis數據源DataSource分類 MyBatis把數據源DataSource分為三種: UNPOOLED 不使用連接池的數據源 POOLED 使用連接池的數據源 JNDI 使用JNDI實現的數據源 相應地,MyBatis內部分別定義了實現了java.sql.DataSource接口的UnpooledDataSource,PooledDataSource類來表示UNPOOLED
昵稱 程序員Seven
貢獻者239
粉絲0
MyBatis數據源DataSource分類 MyBatis把數據源DataSource分為三種: UNPOOLED 不使用連接池的數據源 POOLED 使用連接池的數據源 JNDI 使用JNDI實現的數據源 相應地,MyBatis內部分別定義了實現了java.sql.DataSource接口的UnpooledDataSource,PooledDataSource類來表示UNPOOLED
昵稱 程序員Seven
源碼分析 插件機制 首先我們看下MyBatis攔截器的接口定義: public interface Interceptor { Object intercept(Invocation invocation) throws Throwable; Object plugin(Object target); void setProperties(Properties propertie
昵稱 程序員Seven
這些都是面試常見的問題,看看下面的問題你都能答得上來嗎? 1.什麼是 MyBatis?它有哪些主要特性和優勢? 2. mybatis 和數據庫交互的原理? 3. mybatis 中#{}、${}的區別 4. Mybatis 自帶連接池都有什麼? 5. Mybatis 的一級、二級緩存? 6. MyBatis 是如何進行分頁的?分頁插件的原理是什麼? 7. m
昵稱 王中陽講編程
概述 對數據庫的事務而言,應該具有以下幾點:創建(create)、提交(commit)、回滾(rollback)、關閉(close)。對應地,MyBatis將事務抽象成了Transaction接口: MyBatis的事務管理分為兩種形式: 使用JDBC的事務管理機制:即利用java.sql.Connection對象完成對事務的提交(commit())、回滾(rollback())、關閉(cl
昵稱 程序員Seven
一級緩存實現 什麼是一級緩存? 為什麼使用一級緩存? 每當我們使用MyBatis開啓一次和數據庫的會話,MyBatis會創建出一個SqlSession對象表示一次數據庫會話。 在對數據庫的一次會話中,我們有可能會反覆地執行完全相同的查詢語句,如果不採取一些措施的話,每一次查詢都會查詢一次數據庫,而我們在極短的時間內做了完全相同的查詢,那麼它們的結果極有可能完全相同,由於查詢一次數據庫的代價很大,這
昵稱 程序員Seven
配置解析主體方法 public Configuration parse() { if (parsed) { throw new BuilderException("Each XMLConfigBuilder can only be used once."); } parsed = true; //源碼中沒有這一句,只有 parse
昵稱 程序員Seven
作為 Java 後端開發,你是否曾經糾結過:查詢用户信息時,要不要把用户關聯的訂單、地址一起查出來?全部查詢性能肯定受影響,可不查又怕後面用到時反覆訪問數據庫。這種"查不查"的兩難抉擇,其實可以通過 MyBatis 的延遲加載機制漂亮解決。那麼問題來了,MyBatis 到底支持延遲加載嗎?它背後的實現原理又是什麼? MyBatis 的延遲加載支持情況 MyBatis 確實支持延遲加載(Lazy L
昵稱 異常君
場景分析 本次需要實現規則是根據用户點擊目錄左側——彈出排序選項,文件名A-Z:英文A-Z → 中文A-Z → 數字0-9 ,文件名Z-A:與A-Z相反,最近更新時間:文件夾按文件夾修改時間,文檔按文檔修改時間。圖片直達鏈接 如何實現? 1.改造接口增加參數 /** * 排序類型: NAME_ASC(文件名A-Z), NAME_DESC(文件名Z-A), TIME_DESC(最
昵稱 舒一笑不禿頭
前言 Demo源碼地址:https://gitee.com/ruozxby/springsecuritydemo springSesurity本質是一串過濾器執行鏈 我們自定義主要分為三個部分 1.配置文件 2登錄認證 3權限認證 大概流程 調用自定義登錄— 成功返回token(同時用户數據存入redis) —後續調用則進入自定義的jwt校驗過濾器,成功則把用户數據、權限數據存入SecurityC
昵稱 不語
JSONP實現跨域 背景分析 瀏覽器出於安全考慮,制定了同源策略。(位於 server1.example.com 的網頁無法與不是 server1.example.com的服務器溝通) 概述 JSONP(JSON with Padding)是JSON的一種“使用模式”,可用於解決主流瀏覽器的跨域數據訪問的問題。 原理 利用javaScript中的src屬性實現遠程數據的獲取(src不受同源
昵稱 Entropy_adding
在量化交易中,接入實時期貨行情數據是非常基礎卻至關重要的一步。實時數據和延時數據的區別,可能有些初學者並不太明白,所以我們先簡單談一下。延時數據顧名思義,是指我們收到的價格信息並不是實時的,而是存在一個小的時間延遲,通常可能有幾分鐘。對於很多交易策略,尤其是高頻交易,延時數據的影響非常大,它會導致信號失效或者決策不準確。而實時數據則是毫無延遲的,能夠確保你獲取到的行情與市場變化同步,這對於精準執行
昵稱 Rockson
一、環境要求與配置 1. 系統要求 PHP ≥ 7.4 擴展:cURL、JSON、OpenSSL Composer(推薦) 2. 安裝依賴 composer require guzzlehttp/guzzle 3. 基礎配置類 ?php // config/StockTVConfig.php class StockTVConfig { const BASE_URL = 'http
昵稱 CryptoRzz
經典反轉款 今天又是被老闆罵的一天😭 他説我工作態度有問題 我説那我辭職 他説你敢? 我説我真敢! 因為我發現了一個寶藏直播間 10月21日16:00,科鋭offer便利店直播帶崗 大廠OD、AI算法、智駕崗位應有盡有 週二下午,我們一起辭職吧! 打工人心聲款 剛剛HR找我談話 我以為要被開除了,緊張得要死 結果她説:你這個月表現不錯 我:謝謝領導認可 HR:所以下個月給你加點活 我:???
昵稱 悲傷的煎雞蛋_cQXuXF
你是否也曾陷入這樣的循環:對着《微服務架構設計模式》啃了半年理論,卻連一個完整的服務拆分案例都寫不出來;GitHub上star過幾十個微服務開源項目,下載後看着幾百個模塊的代碼樹,連啓動命令都找不到;好不容易搭起一套框架,一到高併發場景就各種報錯,排查三天發現是服務註冊中心的配置沒配對…… 微服務的門檻,從來不在知道名詞,而在落地能力。今天結合幾個主流開源項目的實戰體驗,聊聊從看懂代碼到做出能用的
昵稱 王中陽背後的男人
你是否也曾陷入這樣的循環:對着《微服務架構設計模式》啃了半年理論,卻連一個完整的服務拆分案例都寫不出來;GitHub上star過幾十個微服務開源項目,下載後看着幾百個模塊的代碼樹,連啓動命令都找不到;好不容易搭起一套框架,一到高併發場景就各種報錯,排查三天發現是服務註冊中心的配置沒配對…… 微服務的門檻,從來不在知道名詞,而在落地能力。今天結合幾個主流開源項目的實戰體驗,聊聊從看懂代碼到做出能用的
昵稱 王中陽講編程
作者簡介:獨立開發者、行業觀察員,”前端之虎“陳隨易,AI編程深度使用者,代碼AI含量80%以上。 最近有個好友問我,有沒有一個適合國內程序員使用,符合國內用户習慣的的AI編程工具啊。我想了一圈,腦海裏蹦出四個字:文心快碼。 因為剛好最近看到一篇文章,就是9月9日,文心快碼全新升級 3.5S (Super Synergistic AgentS) 版本,打造 多智能體自協同引擎,讓智能體之間真正實現
昵稱 文心快碼
雲原生熱點 Helm 十年,成就 Kubernetes 的生態中樞 Helm 項目起源於 2015 年 Kubernetes 1.1 發佈後的一次黑客鬆,其首個提交標誌着一個包管理工具的誕生。隨着時間推移,Helm 從早期的 “helm-classic” 演變、併入 Kubernetes 項目,逐步建立起強大的 Charts 生態與社區治理。如今,Helm 已成長為 Cloud Native Co
昵稱 KubeSphere
2025年10月10日,廣東深圳vivo開發者大會(VDC)上,高德開放平台AIoT業務線產品負責人董佳玉,正式對外呈現了雙方合作的成果——基於藍河操作系統,我們以“雲+端”協同架構為基礎,為不同形態的AIoT設備註入出行智慧,讓用户在腕間、眼前都能享受到連貫高效的服務。 (高德開放平台AIoT業務線產品負責人 董佳玉) Part 01 高德開放平台:空間智能的探索與實踐 作為專注於空間智
昵稱 高德開放平台
在數字經濟加速滲透的今天,數據已成為企業核心生產要素,數據資產管理平台作為激活數據價值的核心工具,其重要性愈發凸顯。企業對數據的治理需求不再侷限於簡單的存儲與整合,而是向標準化管控、全生命週期運營、安全合規與價值轉化等多維度延伸。數據資產管理平台的建設質量,直接決定了企業能否在數字化轉型中實現數據驅動的業務創新,因此選擇適配的平台成為企業數字化戰略落地的關鍵一步。 一、數據資產管理平台行業發展趨勢
昵稱 天生帥才
見字如面,我是陽哥,我的文章都首發在同名公眾號:王中陽,歡迎鏈接。 我最近在挑戰用AI編程工具,用一週時間開發一個商業化的項目,踩了不少坑: 從開發者思維--到產品經理思維的轉變 小問題AI為什麼反反覆覆改不好? token限額了怎麼辦? 有了AI編程,程序員的價值在哪裏? 這篇文章內容比較多,我會從以上幾個大家關心的話題分享。 先聊乾貨,再聊細節 有了AI編程,程序員的價值在哪
昵稱 王中陽背後的男人
作為產品開發全流程的技術風險管控實踐,TR(Technical Review,技術評審)自然是IPD流程中不可或缺的一環。 接下來我們需要明確:TR評審是什麼? 一般TR評審是團隊對技術方案、設計輸出、驗證結果做的系統性審查,主要確保產品的技術路線合規、性能達標、可製造性可控,避免因技術問題導致開發返工、成本超支或上市延期。 一、TR評審在IPD中有什麼作用? 在IPD中,TR評審貫穿產品開發的
@integrated_product_development
昵稱 IPD產品研發管理
上岸折戟塵沙 本人男,安徽馬鞍山人士,21年畢業於江蘇某末流211,在校期間轉碼。 上網課期間就嚮往大城市,於是畢業後去了深圳,找到了一家中等IT公司(人數500+)搬磚,住着寶安城中村,來往繁華南山區。 待了三年多,自知買房變深户無望,沒有歸屬感,感覺自己也沒那麼熱愛技術,於是乎想回老家考公務員,希望待在宇宙的盡頭。 24年末,匆忙備考,平時工作忙裏偷
昵稱 悲傷的煎雞蛋_cQXuXF
作者簡介:服務端工程師、多平台技術博主,做AI IDE調研時接觸到Comate,並進行了深度體驗。 2025年9月Wavesummit開發者大會上,百度文心快碼全新升級為 3.5S(Super Synergistic AgentS) 版本,帶來了一個叫“多智能體自協同引擎”的新機制。也就是説,智能體之間不再是你發一個任務就它硬幹,而是能自主協作、分工合作,共同完成複雜任務。這是為了滿足開發者的三大
昵稱 文心快碼
分享7個我最近關注或在用的工具。後端開發總是有幹不完的活,數據庫、業務邏輯、API安全、雲部署,事情一多就容易手忙腳亂。在這種時候,好用的工具能讓我事半功倍。 Prisma - 讓數據庫操作不再裸奔 在 Node.js 和 TypeScript 項目裏,只要涉及 SQL 數據庫,Prisma 基本是首選。它是一個 ORM,但手感很輕,沒有傳統 ORM 的笨重感。 只需要定義好數據庫的 Schema
昵稱 煩惱的沙發