spring项目mapper.xml中代码错误导致程序启动终止

记录一次项目启动终止的原因。

项目启动到一半就卡死了,只在警告日志里看到如下:

/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>

所以说为了安全任何情况都把全类名写上就好了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值