记录一次项目启动终止的原因。
项目启动到一半就卡死了,只在警告日志里看到如下:
/mybatis/capital/cap-result-mapper.xml]'; nested exception is 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 'CapDTO'. Cause: java.lang.ClassNotFoundException: Cannot find class: CapDTO
这个DTO确实属于我们项目的,但是为啥提示找不到呢,打开mapper.xml看看提交记录,原来是同事今天把mapper里的resultMap里的type类型给改了。
原来的:
<resultMap id="CapResultMap" type="Cap">
<id column="id" property="id"/>
.....省略
</resultMap>
改成了
<resultMap id="CapResultMap" type="CapDTO">
<id column="id" property="id"/>
.....省略
</resultMap>
就是这个CapDTO找不到,因为这个CapDTO是DTO在interface项目中,通过jar引入的,Cap是PO在本项目中,所以找不到CapDTO。
这时需要写他的全类名就好。
<resultMap id="CapResultMap" type="cn.com.test.cap.dto.CapDTO">
<id column="id" property="id"/>
.....省略
</resultMap>
所以说为了安全任何情况都把全类名写上就好了。