MyBatis 加載研讀

用了這麼久的 mybatis, 今天看一下它是如何工做的。java

在配spring mybatis 的時候咱們都會有一個spring-mybatis.xml 文件。裏面定義了這麼一個beanspring

fly.fky.restapi.dao  //這是一個包名, dao 的聲明都在這裏

當咱們啓動服務時候,MapperScannerConfigurer 類會將咱們配置的包解析出來sql

註冊到全局beanFactory 裏面api

這個 配置了咱們一些sql 語句文件路徑mybatis

在這些文件解析後會把 <insert>、<delete>、<update>、<select> 解析成MappedStatement 對象。app

一個MappedStatement對應mapper文件中的一個<insert>、<delete>、<update>、<select>,每次執行MyBatis操做的時候先獲取對應的MappedStatement。代理

經過SqlSessionTemplate 這個類代理調用 selectOne rest

而後進入 DefaultSqlSession 找到 上面解析儲存的 MappedStatementcode

在這裏才真正的執行了sql 語句.xml

相關文章
相關標籤/搜索