}// 设置当前正在解析的Mapper配置的命名空间builderAssistant.setCurrentNamespace(namespace);// 解析<cache-ref>标签cacheRefElement(context.evalNode("cache-ref"));// 解析<cache>标签cacheElement(context.evalNode("cache"));// 解析所有的<parameterMap>标签parameterMapElement(context.evalNodes("/mapper/par...
比如: <selectid="selectPerson"parameterType="int"resultType="hashmap">SELECT* FROM PERSONWHEREID =#{id}</select> 这个语句被称作 selectPerson,接受一个 int(或 Integer)类型的参数,并返回一个 HashMap 类型的对象,其中的键是列名,值便是结果行中的对应值。 注意参数符号: #{id} 这就告诉 MyBatis 创...
if (o instanceof Map.Entry) { @SuppressWarnings("unchecked") Map.Entry<Object, Object> mapEntry = (Map.Entry<Object, Object>) o; applyIndex(context, mapEntry.getKey(), uniqueNumber); applyItem(context, mapEntry.getValue(), uniqueNumber); } else { applyIndex(context, i, uniqueNumber)...
解析前,会先判断 Configuratin 是否已经加载这个 XML 资源,如果不存在,则调用 configurationElement() 方法;在方法里面会解析所有的 <cache-ref>、<cache>、<parameterMap>、<resultMap>、<sql> 和 <select|insert|update|delete> 标签。 Ⅱ . XMLMapperBuilder#configuratinElement() 下面我们先看一下 XMLMapper...