元素类型为 "association" 的内容必须匹配 "(constructor?,id*,result*,association*,collection*,discriminator?)"

一:元素类型为 "association" 的内容必须匹配 "(constructor?,id*,result*,association*,collection*,discriminator?)"

二:元素类型 "mapper" 必须由匹配的结束标记 "" 终止。

 

 

初接触SSM的伙伴很有可能遇到这个问题。结合我的经验和百度。再整理整合一个解决这类的问题的总结。

首先:这类问题都会抛出  SAXParseException  异常。

其次:对应的Mapper文件  在写resultMap映射时出现了这个问题。其他一写乱七八糟的问题,比如明明没有操作涉及到一个util工具类,怎么还报初始化失败呢?好吧,这些一般是SAXParseException问题的小弟。解决匪首,就只是乌合之众。散了散了。

 

第一种:所谓的resultMap 中各元素的顺序出现问题

元素类型为

第二种:明明顺序一毛一样,还是还是报这个错误。别急,仔细再瞧瞧,是不是多个了result Map什么东西。多给个空格,小数点?这种再一坨代码里,实在难以发现。仔细看

元素类型为

小数点.............................第一次这么反感小数点.............

还有说是因为


						
						
						

有空格的原因。专门试验了一下。没有问题。

拓展:如果仔细查找之后,修改完错误。再次报如下错误:

一:请确定返回值类型是否为ResultMap  :

原因:

1.返回类型与你定义的resultMap里的id值不一致

2.resultMap=“”         的r没小写。

二:如果返回值类型,错写为resultType,会报如下错误

Error parsing SQL Mapper  Configuration. Cause:  org.apache.ibatis.builder.BuilderException: Error parsing  Mapper XML. Cause:  org.apache.ibatis.builder.BuilderException: Error resolving  class. Cause:  org.apache.ibatis.type.TypeException: Could not resolve type  alias 'userMap'.  Cause:  java.lang    

个人注解:

java.lang.ClassNotFoundException: Cannot find class: userMap

:找不到userMap这个问题是因为将resultMap写成了resultType,即resultType="userMap"

三:元素类型 "mapper" 必须由匹配的结束标记 "" 终止。

这个错误也是Maper文件里的有非法的字符,仔细找找,往往报此类错误时都会跟上一个lineNumber:XXX.之类的位置。错误就在那个位置多了非法字符。

至此问题解决:

总结:

一:resultMap 中各元素的顺序问题

二:在                 之间多了不该多的玩意。

你可能感兴趣的:(原创,MyBatis,java)