MyBatis是一個Java持久化框架,它通過XML描述符或註解把對象與存儲過程或SQL語句關聯起來。
與其他的對象關係映射框架不同,MyBatis並沒有將Java對象與數據庫表關聯起來,而是將Java方法與SQL語句關聯。MyBatis允許用戶充分利用數據庫的各種功能,例如存儲過程、視圖、各種複雜的查詢以及某數據庫的專有特性。如果要對遺留數據庫、不規範的數據庫進行操作,或者要完全控制SQL的執行,MyBatis是一個不錯的選擇。
與JDBC相比,MyBatis簡化了相關代碼:SQL語句在一行代碼中就能執行。MyBatis提供了一個映射引擎,聲明式的把SQL語句執行結果與對象樹映射起來。通過使用一種內建的類XML表達式語言,或者使用Apache Velocity集成的插件,SQL語句可以被動態的生成。
MyBatis與Spring Framework和Google Guice集成,這使開發者免於依賴性問題。
MyBatis支持聲明式數據緩存(declarative data caching)。當一條SQL語句被標記為“可緩存”後,首次執行它時從數據庫獲取的所有數據會被存儲在一段高速緩存中,今後執行這條語句時就會從高速緩存中讀取結果,而不是再次命中數據庫。MyBatis提供了基於 Java HashMap 的默認緩存實現,以及用於與OSCache、Ehcache、Hazelcast和Memcached連接的默認連接器。MyBatis還提供API供其他緩存實現使用。
Mybatis下載:
文件解壓後,將mybatis核心包加入項目中
複製配置文件Configuration.xml到項目中,並更改數據庫鏈接的參數
獲取Mybatis核心操作對象sqlSession
複製sql語句的配置文件,稍作修改
在核心配置文件中加載sqlxml配置文件
在dao層中直接調用相關的方法
在servlet中調用
這樣就實現了mybatis的簡單示例。
動態sql拼接示例:
使用log4j調試動態sql
日誌相關配置信息
mybatis單條信息的刪除
多條信息的刪除
關於一對多關係的配置:
xml文件的配置
關於多對一關係配置
注意:如果查詢語句中出現列的別名,則映射文件中colum的值需要作相應的改變
常用標籤示例:
需要注意的是resultMap與resultType的區別 個人建議使用resultMap
閱讀更多 十二說IT 的文章