MyBatis 框架簡介
MyBatis
1.MyBatis簡介:
1):MyBatis是開源的持久層框架。
2):利用JDBC抽象出持久層實現。
3):提供了簡單易用的API與數據庫進行交互。
4):MyBatis3起源於2001年的iBatis,添加了註解和映射支持。
MyBatis是一個優秀的持久層框架,它對jdbc的操作數據庫的過程進行封裝,使開發者只需要關註 SQL 本身,而不需要花費精力去處理例如註冊驅動、創建connection、創建statement、手動設置參數、結果集檢索等jdbc繁雜的過程代碼。
Mybatis通過xml或註解的方式將要執行的各種statement(statement、preparedStatemnt、CallableStatement)配置起來,並通過java對象和statement中的sql進行映射生成最終執行的sql語句,最後由mybatis框架執行sql並將結果映射成java對象並返回。
2.為什麽要使用MyBatis:
1):簡單易用。
2):消除了大量的JDBC模板代碼。
3):學習曲線低。
4):可嵌入SQL。
5):可集成Spring。
6):可集成第三方緩存庫。
7):更好的性能。
3.MyBatis持久層特性:
1):支持復雜的SQL結果集數據到對象圖的映射。
2):也支持一對一,一對多映射。
3):支持動態查詢。
4.安裝MyBatisd和配置:
1):安裝環境需求。
①要java的JDK1.6以上
②要MySQL的Jar包MySQL5以上
③MyBatis3.2.2以上
mybatis配置
SqlMapConfig.xml,此文件作為mybatis的全局配置文件,配置了mybatis的運行環境等信息。
mapper.xml文件即sql映射文件,文件中配置了操作數據庫的sql語句。此文件需要在SqlMapConfig.xml中加載。
2、通過mybatis環境等配置信息構造SqlSessionFactory即會話工廠
3、由會話工廠創建sqlSession即會話,操作數據庫需要通過sqlSession進行。
4、mybatis底層自定義了Executor執行器接口操作數據庫,Executor接口有兩個實現,一個是基本執行器、一個是緩存執行器。
5、Mapped Statement也是mybatis一個底層封裝對象,它包裝了mybatis配置信息及sql映射信息等。mapper.xml文件中一個sql對應一個Mapped Statement對象,sql的id即是Mapped statement的id。
6、Mapped Statement對sql執行輸入參數進行定義,包括HashMap、基本類型、pojo,Executor通過Mapped Statement在執行sql前將輸入的java對象映射至sql中,輸入參數映射就是jdbc編程中對preparedStatement設置參數。
7、Mapped Statement對sql執行輸出結果進行定義,包括HashMap、基本類型、pojo,Executor通過Mapped Statement在執行sql後將輸出結果映射至java對象中,輸出結果映射過程相當於jdbc編程中對結果的
MyBatis 框架簡介