本文共 1375 字,大约阅读时间需要 4 分钟。
javax.servlet.ServletException: org.springframework.dao.IncorrectResultSizeDataAccessException: query did not return a unique result: 2 org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:515) org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:422)
excecut{
System.out.println("得到厂商id"); System.out.println(vendor.getName());//如果没有输入厂商的名称这里就会有java.lang.NullPointerException空指针的引用错误 int vendorId = dao.findVendorIdByName(vendor.getName()); System.out.println(vendorId); System.out.println(product.getName());//同上 所以值是否为空的判断要在这里判断,而不是在dao中 String productName = product.getName(); int productId = dao.findProductIdByName(product.getName());//这里出错 System.out.println(productId); int versionId = dao.findVersionIdByName(version.getName()); ................ } 该错误说明你想要得到一个值,结果却返回了多个值。首先检查sql语句是否有错,其次检查return语句是否有多个冲突 或者你想要多个值的输出,却使用了query.uniqueResult() 空指针的引用是判断语句写错了 如果prodcut框中没写内容,不能写成 if(product != null ) 这样写没起到判断的作用,还是会进入语句块内执行语句 此时product.name = ""; 写成 if (product.getName() != null && !product.getName().equals("") ) 也会有空指针引用的错误 正确的写法是 if( product != null && !product.getName().equals(""))
转载地址:http://ihivi.baihongyu.com/