Mybatis初始化过程中,解析parameterMap、resultMap、"select|insert|update|delete"元素,无疑是重头戏。本节将详细分析解析过程。
元素parameterMap将会解析为ParameterMap对象,该对象包含一个List<ParameterMapping>集合,是one-to-many关系。
元素resultMap将会解析为ResultMap对象,该对象包含一个List<ResultMapping>集合,是one-to-many关系。
元素"select|insert|update|delete"将会被解析为MappedStatement对象,该对象包含了ParameterMap、ResultMap等对象。
1. 解析parameterMap元素

(Made In Visual Paradigm)
MapperBuilderAssistant是一个通用构建Mapper辅助类。
ParameterMapping.Builder用于构建ParameterMapping对象,而ParameterMap.Builder则用于构建ParameterMap对象。
其中resolveTypeHandler()很重要,我们自定义的TypeHandler要起作用,就靠该方法正确绑定TypeHandler了,后续会单独开一篇关于TypeHandler的文章。
下面看看Mabtis解析parameterMap元素的源码。
private void parameterMapElement(List<XNode> list) throws Exception {
for (XNode parameterMapNode : list) {
String id = parameterMapNode.getStringAttribute("id");
String type = parameterMapNode.getStringAttribute("type");
Class<?> parameterClass = resolveClass(type)NRN\NN^K[K]YZ[Ndy&jk:/oyn.9.(i,y`yf y/9o#ly/+9N[[]\HY]\]YH]]KXY[\HYYHψ]]]/k:/oy.^K[K]YZ[N





