Java资源分享网 - 专业的Java学习网站 学Java,上Java资源分享网
Mybatis源码研究之BoundSql PDF 下载
匿名网友发布于:2024-07-05 09:59:41
(侵权举报)
(假如点击没反应,多刷新两次就OK!)

Mybatis源码研究之BoundSql PDF 下载 图1

 

 

资料内容:

概述
1. BoundSql 更像一个中转站, Mybatis在执行一次CRUD操作过程中产生的中间数据的集中点.这一点
观察其内部的字段就可以了解.
2. 内部基本没做什么处理, 只是将相应的操作调度给了内部的字段.
BoundSql的引用
主要是通过 MappedStatement#getBoundSql() 方法调用获取的。我们可以简单跟踪下其中的源码,如
 
public BoundSql getBoundSql(Object parameterObject) {
// 通过SqlSource获取BoundSql对象
BoundSql boundSql = sqlSource.getBoundSql(parameterObject);
// 校验当前的sql语句有无绑定parameterMapping属性
List<ParameterMapping> parameterMappings = boundSql.getParameterMappings();
if (parameterMappings == null || parameterMappings.isEmpty()) {
boundSql = new BoundSql(configuration, boundSql.getSql(),
parameterMap.getParameterMappings(), parameterObject);
}
// check for nested result maps in parameter mappings (issue #30)
for (ParameterMapping pm : boundSql.getParameterMappings()) {
String rmId = pm.getResultMapId();
if (rmId != null) {
ResultMap rm = configuration.getResultMap(rmId);
if (rm != null) {
hasNestedResultMaps |= rm.hasNestedResultMaps();
}
}
}
return boundSql;
}