mybatis分頁插件PageHelper線程安全原理


  pageHelper會使用ThreadLocal獲取到同一線程中的變量信息,各個線程之間的Threadlocal

不會相互干擾,也就是Thread1中的ThreadLocal1之后獲取到Tread1中的變量的信息,不會獲取到

Thread2中的信息。

  所以在多線程環境下,各個Threadlocal之間相互隔離,可以實現,不同thread使用不同的數據源或

不同的Thread中執行不同的SQL語句。所以,PageHelper利用這一點通過攔截器獲取到同一線程中的

預編譯好的SQL語句之后將SQL語句包裝成具有分頁功能的SQL語句,並將其再次賦值給下一步操作,

所以實際執行的SQL語句就是有了分頁功能的SQL語句。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM