springboot项目在多表联合查询的时候报空值异常

Transaction synchronization closing SqlSession [org. apache.ibatis, session,defaults, DefaultSglSession01186abcel
2022-03-0419:06:29.7791R80816704---[nio-8080-exec-7]a.a.c.e ol.l.ly:dishetche servlet: Servlet, service0 for serylet dispatch### Error querying database. Cause:java. lang.NulIPointerException
### The error may exist in file [c:\Users\WuPeng\springboot-demo\target\classes\mapper\HistoryMapper, xml]### The error may involve com.1xyk.mapper.HistoryMapper.findAllHistory### The error occurred while handling results
### SQL: select h.hid,w.worker name,hisend water time.c.cust name,h, send water count    from tb customer e.tb worker w.tb history h    
### Cause: java.lang.NullPointerException] with root cause
ojava.lang, NullPointerException: ull <1 internal call>

巨坑,不知道是哪个环节出错,从pom文件到yml文件,排查全都没问题,简直是日了狗了。

后来才发现是mapper.xml文件中resultmap的问题,这是报的错watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5b-15penOTIx,size_20,color_FFFFFF,t_70,g_se,x_16 这是我的实体类,注意箭头所指的数据类型watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5b-15penOTIx,size_20,color_FFFFFF,t_70,g_se,x_16

 我用的是mybatisplus来查询数据库库信息,因为是多表的联合查询,所以我在mapper接口中自定义了查询的方法,没有用Basemapper中的内置查询方法watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5b-15penOTIx,size_20,color_FFFFFF,t_70,g_se,x_16

 所以接下来就开启了mapper.xml文件的书写

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5b-15penOTIx,size_20,color_FFFFFF,t_70,g_se,x_16

 

重点在这里watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5b-15penOTIx,size_20,color_FFFFFF,t_70,g_se,x_16

 association这里引入的是实体类中我们自定义的类型,然而在这里我只写了他的属性名,并没有指定他的类型,所以在用浏览器查询数据时报空值得异常,因为他不知道这里的属性是什么类型,要在association标签后面指定他的数据类型,加上javatype属性,如下watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5b-15penOTIx,size_20,color_FFFFFF,t_70,g_se,x_16

 这样就可以了

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5b-15penOTIx,size_20,color_FFFFFF,t_70,g_se,x_16

希望能帮助到大家!下个bug再见~

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值