source is null for getProperty(null, "shop")

来源:8-10 商品列表展示之后端开发

慕粉1556544580

2021-02-03

Request processing failed; nested exception is org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.builder.BuilderException: Error evaluating expression ‘productCondition.shop!=null and productCondition.shop.shopId!=null’. Cause: org.apache.ibatis.ognl.OgnlException: source is null for getProperty(null, “shop”)

描述 服务器遇到一个意外的情况,阻止它完成请求。

例外情况

org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.builder.BuilderException: Error evaluating expression ‘productCondition.shop!=null and productCondition.shop.shopId!=null’. Cause: org.apache.ibatis.ognl.OgnlException: source is null for getProperty(null, “shop”)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1013)
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:897)
javax.servlet.http.HttpServlet.service(HttpServlet.java:626)
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:882)
javax.servlet.http.HttpServlet.service(HttpServlet.java:733)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
根本原因。

org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.builder.BuilderException: Error evaluating expression ‘productCondition.shop!=null and productCondition.shop.shopId!=null’. Cause: org.apache.ibatis.ognl.OgnlException: source is null for getProperty(null, “shop”)
org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:77)
org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:446)
src/test/java单元测试都过了,最后再浏览器中输入url却报这个错误是为什么啊?网上有的说是空指针,我也没看懂。

试着写下面两种清空也不行
第一种情况:

and shop_id = #{productCondition.shop.shopId} and product_category_id = #{productCondition.productCategory.productCategoryId} and product_name like '%${productCondition.productName}%' and enable_status = #{productCondition.enableStatus} 第二种情况: and shop_id = #{productCondition.shop.shopId} and product_category_id = #{productCondition.productCategory.productCategoryId} and product_name like '%${productCondition.productName}%' and enable_status = #{productCondition.enableStatus}

上面这两种where根本不管用,虽然能查出来,但是是把所有的都查出来

粘你的代码就会报错!!!

写回答

1回答

翔仔

2021-02-03

遇到问题不要慌,解决问题是码农的天职,需要心平气和来解决,程序说1是1,不可能大家都一样,自己的不行,别人的行,肯定还是哪里弄错了。这里应该是数据的问题,需要你调试一下,在执行这段mybatis逻辑前,看看传入的 productCondition为什么是空的,是不是没有给赋值,然后再看看 productCondition.shop 里面的shop,也就是productCondition的shop成员变量是不是空的,为什么没有设置。调试一下


0
0

Java双版本(SSM到SpringBoot)校园商铺全栈开发

SSM商铺V1.0,解决毕设痛点;SpringBoot商铺V2.0,满足工作刚需

5113 学习 · 8144 问题

查看课程