mybatis框架的原理
1)mybatis配置
SqlMapConfig.xml筋遭,此文件作為mybatis的全局配置文件簇秒,配置了mybatis的運行環(huán)境等信息糊秆。
mapper.xml文件即sql映射文件耘擂,文件中配置了操作數(shù)據(jù)庫的sql語句蓖租。此文件需要在SqlMapConfig.xml中加載勋锤。
2)通過mybatis環(huán)境等配置信息構(gòu)造SqlSessionFactory即會話工廠
3)由會話工廠創(chuàng)建sqlSession即會話饭玲,操作數(shù)據(jù)庫需要通過sqlSession進行。
4)mybatis底層自定義了Executor執(zhí)行器接口操作數(shù)據(jù)庫叁执,Executor接口有兩個實現(xiàn)咱枉,一個是基本執(zhí)行器、一個是緩存執(zhí)行器徒恋。
5)Mapped Statement也是mybatis一個底層封裝對象蚕断,它包裝了mybatis配置信息及sql映射信息等。mapper.xml文件中一個sql對應(yīng)一個Mapped Statement對象入挣,sql的id即是Mapped statement的id亿乳。
6)Mapped Statement對sql執(zhí)行輸入?yún)?shù)進行定義,包括HashMap径筏、基本類型葛假、pojo,Executor通過Mapped Statement在執(zhí)行sql前將輸入的java對象映射至sql中滋恬,輸入?yún)?shù)映射就是jdbc編程中對preparedStatement設(shè)置參數(shù)聊训。
MappedStatement對sql執(zhí)行輸出結(jié)果進行定義,包括HashMap恢氯、基本類型带斑、pojo鼓寺,Executor通過Mapped Statement在執(zhí)行sql后將輸出結(jié)果映射至java對象中,輸出結(jié)果映射過程相當(dāng)于jdbc編程中對結(jié)果的解析處理過程勋磕。
ize:10.??i 8