美文网首页
【Mybatis】Result Maps collection

【Mybatis】Result Maps collection

作者: 地主家有30头牛 | 来源:发表于2022-03-26 19:24 被阅读0次

    错误信息:
    Result Maps collection does not contain value for com.web.xxx.xxx

    发生场景:
    针对一张表,自动生成了一套Mapper1后,又自定义了一套Mapper2,返回的数据结构和Mapper1的一样。
    Mapper1执行成功,加了Mapper2后Mapper1执行一直报上面的错误。

    排错过程:
    因为Mapper1是事先验证成功的,加了Mapper2后执行就报错,而且除了以上报错信息外还有一些别的,所以一直以为是Mapper2和Mapper1的一些设置冲突了导致,因为去掉Mapper2后,Mapper1仍然成功,上网查信息,查到相关的就是把Mapper2中的resultMap改成resultType即可解决。

    改前:
    <select id="getById" resultMap="com.web.hello.model.Brand">
    
    改后:
    <select id="getById" resultType="com.web.hello.model.Brand">
    

    错误解消,后来又实验了几次,发现之前查到的信息不是很准确。
    准确的说,resultMap和resultType都可以,但是后面的值略有差别。

    resultMap:
    <select id="getById" resultMap="com.web.hello.mapper.BrandMapper.BaseResultMap">
    
    resultType:
    <select id="getById" resultType="com.web.hello.model.Brand">
    

    当然,前提是像我这种情况,我原有一套自动生成的Brand的Mapper,并且新建的Mapper操作就是要复用原来的BaseResultMap。

    相关文章

      网友评论

          本文标题:【Mybatis】Result Maps collection

          本文链接:https://www.haomeiwen.com/subject/uemyjrtx.html