sqlsession 的执行过程
2021-01-21 14:15:16 9 举报
sqlsession 的执行过程
作者其他创作
大纲/内容
DefaultSqlSessionFactory
connection.prepareStatement
1. newStatementHandler
doQuery
2. prepareStatement
对sql进行预编译
SimpleExecutor
PreparedStatementHandler
3. handler.query
DefaultResultSetHandler
handleResultSets
instantiateStatement
new RoutingStatementHandler
prepare
newExecutor
parameterize
mybatis底层使用PreparedStatement,过程是先将带有占位符(即”?”)的sql模板发送至mysql服务器,由服务器对此无参数的sql进行编译后,将编译结果缓存,然后直接执行带有真实参数的sql。核心是通过#{ } 实现的。在预编译之前,#{ } 解析为一个 JDBC 预编译语句(prepared statement)的参数标记符?
configuration
openSessionFromConnection/openSessionFromDataSource
setParameters
设置参数
DefaultParameterHandler
ps.execute
BaseStatementHandler
0 条评论
下一页