Mybatis-Mapper返回对象数据为空,报空指针异常引起原因

引起空指针异常的sql语句:

select d.VALUEE as name, aqu.id, aqu.state, aqu.issue, aqu.start_time, 
 aqu.end_time,aqu.long_term, aqu.issue_authority, aqu.remark, aqu.attachments
        from aqjy_access_config aac
            left join aqjy_config_user acu on aac.id = acu.config_id
            left join aqjy_qualification_user aqu on aac.access_bind_id = aqu.dict_id and acu.user_id = aqu.user_id
            left join t_dict d on aac.access_bind_id = d.DICT_ID
        where aac.access_bind_type = 'qualification'
            and
            aac.access_id = 1
            and
            aac.config_type = 'laboratory'
            and
            acu.user_id = 3

在navicat中执行语句得到的结果:

正常来说查询数据时没有对应的数据就返回null,为什么这里却报了空指针异常呢?

将sql语句修改一下就能发现问题

select *
        from aqjy_access_config aac
            left join aqjy_config_user acu on aac.id = acu.config_id
            left join aqjy_qualification_user aqu on aac.access_bind_id = aqu.dict_id and acu.user_id = aqu.user_id
            left join t_dict d on aac.access_bind_id = d.DICT_ID
        where aac.access_bind_type = 'qualification'
            and
            aac.access_id = 1
            and
            aac.config_type = 'laboratory'
            and
            acu.user_id = 3

在navicat中执行语句得到的部分结果:

可以得知实际是有数据的,但是由于我们获取字段时获取到的都是值为null的字段,如果返回对象数据为null,用户会以为没有对应条件的数据,但是实际是有的,所以mybatis为了防止出现歧义,不允许出现这种情况,会抛出空指针异常。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
mybatis-plus空指针异常可能是因为在普通类调用Mapper接口时,使用了mybatis-plus的功能,但在泛型类中找不到id属性,导致查找到的值为空。这会引发空指针异常(NullPointerException)。为了解决这个问题,可以通过深入学习MyBatis并了解其核心对象、配置文件和映射文件的使用来修复。确保在泛型类中定义了正确的id属性,并正确配置映射文件中的语句映射。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [SpringBoot:在普通类调用 Mapper 接口使用 MybatisPlus 错:空指针异常(NullPointerException)](https://blog.csdn.net/weixin_43642521/article/details/124491271)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [MyBatis-plus使用出现空指针异常或者表不纯在](https://blog.csdn.net/gtq1061414470/article/details/121019792)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [SSM框架的学习与应用JavaEE(第二天)Mybatis的深入学习](https://download.csdn.net/download/m0_53659738/88241458)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值