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

相关文章
相关标签/搜索