myBatis架構

mybatis介紹
MyBatis 本是apache的一個開源項目iBatis, 2010年這個項目由apache software foundation 遷移到了google code,並且改名爲MyBatis,實質上Mybatis對ibatis進行一些改進。 目前mybatis在github上託管。git(分佈式版本控制,當前比較流程)
MyBatis是一個優秀的持久層框架,它對jdbc的操作數據庫的過程進行封裝,使開發者只需要關注 SQL 本身,而不需要花費精力去處理例如註冊驅動、創建connection、創建statement、手動設置參數、結果集檢索等jdbc繁雜的過程代碼。
Mybatis通過xml或註解的方式將要執行的各種statement(statement、preparedStatemnt、CallableStatement)配置起來,並通過java對象和statement中的sql進行映射生成最終執行的sql語句,最後由mybatis框架執行sql並將結果映射成java對象並返回。
mybatis架構
這裏寫圖片描述

解說:通過SqlMapConfig.xml加載myBatis的運行環境,在mapper.xml文件中會設置很多的sql語句,執行每個sql語句時,封裝爲MappedStatement對象,所以mapper.xml文件是以statement爲單位來管理sql語句的。
如SqlMapConfig.xml文件爲:
這裏寫圖片描述
其中在mapper.xml文件中方:
id唯一標識一個statement;#{}:表示一個佔位符,如果#{}中傳入簡單類型的參數,#{}中的名稱隨意,如果接收的是pojo數據,可以使用OGNL解析出pojo的屬性值;
parameterType:輸入參數的類型,通過#{}老接受parameterType輸入的參數;
resultType:輸出結果類型,不管返回的是多條還是單條,指定最終映射的單條記錄映射的pojo的類型。
${}:表示sql的拼接,通過${} 接收的參數,會將參數的內容不加任何修飾拼接在sql中,缺點是:不能防止注入。

發佈了42 篇原創文章 · 獲贊 8 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章