一.日志模塊 首先日志在我們開發過程中占據了一個非常重要的地位,是開發和運維管理之間的橋梁,在Java中的日志框架也非常多,Log4j,Log4j2,Apache Commons Log,java.util.logging,slf4j等,這些工具對外的接口也都不盡相同,為了統一這些工具 ...
一 緩存模塊 MyBatis作為一個強大的持久層框架,緩存是其必不可少的功能之一,Mybatis中的緩存分為一級緩存和二級緩存。但本質上是一樣的,都是使用Cache接口實現的。緩存位於 org.apache.ibatis.cache包下。 通過結構能夠發現Cache其實使用到了裝飾器模式來實現緩存的處理。先來看看Cache中的基礎類的API Cache接口的實現類很多,但是大部分都是裝飾器,只有P ...
2021-09-03 08:55 0 263 推薦指數:
一.日志模塊 首先日志在我們開發過程中占據了一個非常重要的地位,是開發和運維管理之間的橋梁,在Java中的日志框架也非常多,Log4j,Log4j2,Apache Commons Log,java.util.logging,slf4j等,這些工具對外的接口也都不盡相同,為了統一這些工具 ...
一、binding模塊 接下來我們看看在org.apache.ibatis.binding包下提供的Binding模塊 ,binding其實在執行sqlSession.getMapper(UserMapper.class);獲取接口代理的對象時有用到; 發現這個包里面提供的工具比較 ...
一、類型轉換模塊 MyBatis是一個持久層框架ORM框架,實現數據庫中數據和Java對象中的屬性的雙向映射,那么不可避免的就會碰到類型轉換的問題,在PreparedStatement為SQL語句綁定參數時,需要從Java類型轉換為JDBC類型,而從結果集中獲取數據時,則需 ...
一、源碼下載 1、手動編譯源碼 為了方便在看源碼的過程中能夠方便的添加注釋,可以從官網下載源碼編譯生成對應的Jar包,然后上傳到本地maven倉庫,再引用這個Jar。 首先需要編譯打包parent項目,我是用idea進行打包編譯的 然后用同樣 ...
像Mybatis、Hibernate這樣的ORM框架,封裝了JDBC的大部分操作,極大的簡化了我們對數據庫的操作。 在實際項目中,我們發現在一個事務中查詢同樣的語句兩次的時候,第二次沒有進行數據庫查詢,直接返回了結果,實際這種情況我們就可以稱為緩存。 Mybatis的緩存級別 一級緩存 ...
一、MyBatis插件 插件是一種常見的擴展方式,大多數開源框架也都支持用戶通過添加自定義插件的方式來擴展或者改變原有的功能,MyBatis中也提供的有插件,雖然叫插件,但是實際上是通過攔截器(Interceptor)實現的,在MyBatis的插件模塊中涉及到責任鏈模式和JDK動態代理。 1. ...
一、事務管理 寫到這也快進入收尾階段了了,在介紹MyBatis中的事務管理時不可避免的要接觸到DataSource的內容,所以接下來會分別來介紹DataSource和Transaction兩塊內容。 ...
上一篇我們分析了Mapper接口代理類的生成,本篇接着分析是如何調用到XML中的SQL 我們回顧一下MapperMethod 的execute方法 selectOne 方法分析 本節選擇分析 selectOne 方法,主要是因為 selectOne 在內部 ...