一級緩存實現 什麼是一級緩存? 為什麼使用一級緩存? 每當我們使用MyBatis開啓一次和數據庫的會話,MyBatis會創建出一個SqlSession對象表示一次數據庫會話。 在對數據庫的一次會話中,我們有可能會反覆地執行完全相同的查詢語句,如果不採取一些措施的話,每一次查詢都會查詢一次數據庫,而我們在極短的時間內做了完全相同的查詢,那麼它們的結果極有可能完全相同,由於查詢一次數據庫的代價很大,這
大家好,我是半夏之沫 😁😁 一名金融科技領域的JAVA系統研發😊😊 我希望將自己工作和學習中的經驗以最樸實,最嚴謹的方式分享給大家,共同進步👉💓👈 👉👉👉👉👉👉👉👉💓寫作不易,期待大家的關注和點贊💓👈👈👈👈👈👈👈👈 👉👉👉👉👉👉👉👉💓關注微信公眾號【技術探界】 💓👈👈👈👈👈👈👈👈 前言
配置解析主體方法 public Configuration parse() { if (parsed) { throw new BuilderException("Each XMLConfigBuilder can only be used once."); } parsed = true; //源碼中沒有這一句,只有 parse
大家好,我是V哥,2025年的春招馬上就是到來,正在準備求職的朋友過完年,也該收收心,好好思考一下自己哪些技術點還需要補一補了,今天 V 哥要跟大家聊的是MyBatis框架的問題,站在一個高級程序員的角度,我們要如何去思考面試官的問題,馬上開整。 在梳理面試問題之前,V 哥通過千場面試官經驗先從重點定位給大家一些建議,看看是不是這個道理。 前菜很重要 正在準備2025年春招的求職者,特別是針對My
問題背景 在本地環境下,我們以POST方式向Spring Boot應用發起請求,這是一個查詢部門信息的地址。 請求信息:http://localhost:8080/depts 當使用接口測試工具進行接口測試後,報錯如下: { "timestamp": "2025-04-13T10:46:20.933+00:00", "status": 406, "error": "Not
作為 Java 後端開發,你是否曾經糾結過:查詢用户信息時,要不要把用户關聯的訂單、地址一起查出來?全部查詢性能肯定受影響,可不查又怕後面用到時反覆訪問數據庫。這種"查不查"的兩難抉擇,其實可以通過 MyBatis 的延遲加載機制漂亮解決。那麼問題來了,MyBatis 到底支持延遲加載嗎?它背後的實現原理又是什麼? MyBatis 的延遲加載支持情況 MyBatis 確實支持延遲加載(Lazy L
🚀 最強 Mybatis 代碼提示插件 —— MybatisCodeHelperPro 在寫 Mybatis 的時候,XML 經常沒有代碼提示,開發體驗很差。最近發現了 IntelliJ 下的插件 MybatisCodeHelperPro,寫 Mybatis 代碼時全程代碼提示,非常方便! ✨ #{} 語句智能提示,支持複雜類型 寫 SQL 時輸入 #{},插件會自動提示可用參數,支持對象屬性
報錯一: Caused by: org.yaml.snakeyaml.error.YAMLException: java.nio.charset.MalformedInputException: Input length = 1 解決辦法: setting - Editor - File Encodings,編碼方式都選擇UTF-8 報錯二: Cause: java.sql
聲明環境 數據庫:MySQL8.0 springboot框架:使用阿里雲的腳手架 Java:17 常見錯誤 MySQL密碼錯誤 數據庫密碼錯了,到你的application.properties配置文件檢查一下你的MySQL密碼是否輸錯了 找不到數據庫 找不到數據庫,到你的application.properties配置文件檢查一下你的數據庫是不是填錯了或少打多打都用可
今天練習項目的時候爆了一個錯誤 它爆的錯誤我不認識,所有我想自己先找找看,但是找了好久還沒發現,於是乎問了一下deep seek,它告訴我這個錯誤是MyBatis的OGNL表達式解析異常,就是説在解析動態SQL語言中遇到了一個感嘆號,於是乎,我猜應該是mapper映射文件中的動態SQL寫錯了,找了一下還真是,附上粗心的代碼 在查詢語句的時候,由於粗心少些了一個=號就變成
分享一些我最近都在用的關於spring和mybatis註解 Spring(Spring boot) 聲明bean註解 @Component 它是一個spring組件掃描的基礎註解,用於標識一個普通bean對象,當被spring的掃描器掃到時,會自動創建為bean對象並放入spring容器管理中其默認名稱是類名首字母小寫。 它可以被@Controller(控制層)、@Service(業務層)、
場景分析 本次需要實現規則是根據用户點擊目錄左側——彈出排序選項,文件名A-Z:英文A-Z → 中文A-Z → 數字0-9 ,文件名Z-A:與A-Z相反,最近更新時間:文件夾按文件夾修改時間,文檔按文檔修改時間。圖片直達鏈接 如何實現? 1.改造接口增加參數 /** * 排序類型: NAME_ASC(文件名A-Z), NAME_DESC(文件名Z-A), TIME_DESC(最
案例 分享一個很久之前的案例。 任務是:根據運營部門提供的門店列表,查詢門店詳情並生成報表。起初,我寫了這樣一段 SQL: select id="selectStores" resultType="Store" SELECT * FROM stores WHERE store_code foreach collection="storeIdList" item="store
前面我們分享了 go-zero 的快速實戰以及日誌組件的剖析,本次我們來實戰使用 go-zero jwt 鑑權 本次文章主要是分享關於 go-zero 中 jwt 的使用方式,會以一個 demo 的方式來進行實戰,對於使用 goctl 工具以及安裝細節就不在贅述,有需要的話可以查看: 官網 本次文章主要分為如下幾個部分: Jwt 的簡單介紹 !---- Go-zero 中使用 jw
淺談一下前後端鑑權方式 ^.^ 雖然本人現在從事前端開發,但是之前一直是 PHP 全棧,所以對前後端鑑權機制也有一定的瞭解,就找些資料簡單記錄一下吧。(瞎掰扯~) 常見鑒權機制 HTTP 是無狀態的協議(對於事務處理沒有記憶能力,每次客户端和服務端會話完成時,服務端不會保存任何會話信息。):每個請求都是完全獨立的,服務端無法確認當前訪問者的身份信息,無法分辨上一次的請求發送者和這一次的發送者是不是
萬惡之源: 阿里雲:基於JWT的token認證 有需求需要連接java服務器的API,對接的小夥伴給出的教程如上。 仔細看完大致流程是服務端生成JWK(當然也可以用https://mkjwk.org 在線生成),客户端自行添加載荷和頭加密並簽名生成token用以校驗。 但是文中只提供了java實現(keypair還拼錯了一次),無法作為nodejs的參考。 查看了下如何用node
highlight: agate theme: fancy 安裝 npm i egg-bag-framework 內置多種模塊,中間件以及工具 源碼地址, 演示地址 中間件 校驗sing簽名是否合法,防止隨意發起請求 'use strict'; module.exports = (option, app) = { return async function sing(ctx, ne
介紹 在這篇文章中,我們將學習如何在C-Shopping電商開源項目中,基於Next.js 14,處理所有API路由中添加身份驗證和錯誤處理中間件的思路與實現。 這篇文章中的代碼片段取自我最近開源項目C-Shopping,完整的項目和文檔可在https://github.com/huanghanzhilian/c-shopping地址查看。 Next.js中的API路由 在Next.js14中,/
本文翻譯自 9 Steps for JWT Authentication in Node.js Application,作者:Shefali, 略有刪改。 身份驗證是Web開發的重要組成部分。JSON Web令牌(JWT)由於其簡單性,安全性和可擴展性,已成為在Web應用程序中實現身份驗證的流行方法。在這篇文章中,我將指導你在Node.js應用程序中使用MongoDB進行數據存儲來實現JWT
本文使用了 MongoDB, 還沒有集成的可以看一下上篇文章 Next14 app +Vercel 集成 MongoDB next13 可以參考 trpc 文檔 而且谷歌上已經有不少問題解答,但是目前 next14 app 只看到一個項目中有用到 Github 倉庫,目前這個倉庫中服務端的上下文獲取存在問題,目前找到一個有用的可以看 Issus。目前 trpc 對 next14 app
前言 Demo源碼地址:https://gitee.com/ruozxby/springsecuritydemo springSesurity本質是一串過濾器執行鏈 我們自定義主要分為三個部分 1.配置文件 2登錄認證 3權限認證 大概流程 調用自定義登錄— 成功返回token(同時用户數據存入redis) —後續調用則進入自定義的jwt校驗過濾器,成功則把用户數據、權限數據存入SecurityC
一 概念梳理 對稱加密和非對稱加密是兩種基本的加密方法,它們在現代密碼學中扮演着核心角色,用於保護數據的安全和隱私。 1.1 對稱加密(Symmetric Encryption) 對稱加密是指加密和解密使用同一個密鑰的過程。這意味着發送方和接收方都必須知道並使用這個共享的密鑰來對信息進行加密和解密。這種方法的優點在於加密和解密速度快,效率高,適合處理大量數據。但是,安全分發密鑰成為一個挑戰,因為如
JWT(JSON Web Token)是比較流行的跨域認證解決方案。 一般來説做單點登錄見常的方式是將登錄憑證持久化,各服務都向持久層請求數據,這樣內部多個應用系統就可以共享登錄狀態。另一種方式是服務端只生成相關憑證但不保存,客户端先請求生成憑證,然後每次請求時將這個憑證帶上,由服務端校驗這個憑證是否有效。JWT就是這種方案 JWT原理 JWT原理是,服務器認證以後,生成一個JSON對象,返
建議存放在Cookie。 JWT存放在localstorage 為了應對XSS攻擊,我們通常需要對用户輸入進行過濾或者轉義編碼,避免攻擊者輸入有害的腳本。然而現代web應用出於一些特定的目的(例如cdn)經常會插入外部的腳本,這些腳本可能遭到破壞。而localstorage沒有類似cookie http-only的手段無法阻止js直接訪問數據,XSS攻擊的威脅較大。 同樣,