所謂的持久層就是把數據可以永久保持的存儲到設備中,不像放到內存中那樣斷電就消失,一般來說,持久層為直接的理解就是對數據庫的各種操作,如CRUD(增加,刪除,修改,查詢),更新等操作
持久層,就是把持久的動作封裝成一個獨立的層,這是為了降低功能代碼之間的關聯.創建一個更清晰的抽象,提高代碼的內聚力,降低代碼的耦合度,提高可維護性和復用性.
MyBatis是一個優秀的持久層框架,它對jdbc的操作數據庫的過程進行封裝,使開發者只需要關注SQL本身,而不需要花費精力去處理例如注冊驅動、創建connection、創建statement、手動設置參數、結果集檢索等jdbc繁雜的過程代碼。
Mybatis通過xml或注解的方式將要執行的各種statement(statement、preparedStatemnt)配置起來,並通過java對象和statement中的sql進行映射生成最終執行的sql語句,最后由mybatis框架執行sql並將結果映射成java對象並返回。
(1)mybatis-config.xml是Mybatis的核心配置文件,通過其中的配置可以生成SqlSessionFactory,也就是SqlSession工廠
(2)基於SqlSessionFactory可以生成SqlSession對象
(3)SqlSession是一個既可以發送SQL去執行,並返回結果,類似於JDBC中的Connection對象,也是Mybatis中至關重要的一個對象。
(4)Executor是SqlSession底層的對象,用於執行SQL語句
(5)MapperStatement對象也是SqlSession底層的對象,用於接收輸入映射(SQL語句中的參數),以及做輸出映射(即將SQL查詢的結果映射成相應的結果)
總之,Mybatis對JDBC訪問數據庫的過程進行了封裝,簡化了JDBC代碼,解決JDBC將結果集封裝為Java對象的麻煩。
MyBatis是一個優秀的持久層框架,它對jdbc的操作數據庫的過程進行封裝,使開發者只需要關注SQL本身,而不需要花費精力去處理例如注冊驅動、創建connection、創建statement、手動設置參數、結果集檢索等jdbc繁雜的過程代碼。
Mybatis通過xml或注解的方式將要執行的各種statement(statement、preparedStatemnt)配置起來,並通過java對象和statement中的sql進行映射生成最終執行的sql語句,最后由mybatis框架執行sql並將結果映射成java對象並返回。
總之,Mybatis對JDBC訪問數據庫的過程進行了封裝,簡化了JDBC代碼,解決JDBC將結果集封裝為Java對象的麻煩。