执行的流程
- 加载配置
主配置文件存放在Configuration类中
SQL配置信息存放在MappedStatement中 - 查询流程
根据传入ID查找MappedStatement,根据传入参数解析MappedStatement,获取数据库连接,得到最终的SQL语句和传入参数,并得到执行结果,对执行结果进行转化,得到最终的执行结果,最后释放连接资源。
中间更加具体的部分见下面。
整体的框架
分层次从上到下,按照一个执行语句的调用顺序来:
-
SqlSession
顶层API,表示和数据库交互的绘画,有数据库的增删改查等方法。 -
Executor
负责动态语句生成和查询缓存维护 -
StatementHandler
负责JDBC的Statement的交互,包括参数的设置和返回结果的转化,StatemenetHandler分为ParameterHandler和ResultSetHandler两部分。TypeHandler负责java数据类型和jdbc数据类型之间的转化。
-
其他的类
除了以上按照调用顺序的类,还有以下几个类: -
MappedStatement
配置加载的类 -
SqlSource
负责动态地生成SQL语句,将数据封装到BoundSql对象,并返回。 -
BoundSql表示动态生成的SQL语句一级相应的参数信息。
网友评论