Mybatis 查询联表空指针异常

 异常

ERROR 92586 --- [nio-8080-exec-1] i.common.GlobalRESTfulExceptionHandler   : nested exception is org.apache.ibatis.exceptions.PersistenceException: 
### Error querying database.  Cause: java.lang.NullPointerException
### The error may exist in file [/Users/newking/SinoSoft/tmnch/tmnch-fccb/target/classes/mapper/custom/search/PrpCdao.xml]
### The error may involve ins.search.dao.PrpCdao.searchV1
### The error occurred while executing a query
### Cause: java.lang.NullPointerException

org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException: 
### Error querying database.  Cause: java.lang.NullPointerException
### The error may exist in file [/Users/newking/SinoSoft/tmnch/tmnch-fccb/target/classes/mapper/custom/search/PrpCdao.xml]
### The error may involve ins.search.dao.PrpCdao.searchV1
### The error occurred while executing a query
### Cause: java.lang.NullPointerException
at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:77)
at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:446)
at com.sun.proxy.$Proxy134.selectList(Unknown Source)
at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:238)
at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:135)
at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:75)
at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:53)
at com.sun.proxy.$Proxy674.searchV1(Unknown Source)
at ins.search.service.SelectService.searchPolicy(SelectService.java:363)

解决方案

1.检查sql语句,语法是否正确,最好的检查方法就是将sql语句复制到查询器中执行一遍。 
2.检查字段是否出现sql关键字!(比如delete,call),这个很重要,因为call在java中并不是关键字,但是在sql中是关键字! 
3.检查Mapper接口,参数名一定要对上!!! 否则运行时照样报错。
4.检查Mapper接口代码是否符合规范,mybaits动态注入参数使用“#”,而不是“$”符号。

解决使用反单引号``

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值