Java 在DAO文件中返回空值
我创建了一个DAO文件,但在调试时,在浏览器中得到了空值,但在数据库中它存储了这些值。。 而且,在调试时,编译器将捕获块。。Java 在DAO文件中返回空值,java,spring,Java,Spring,我创建了一个DAO文件,但在调试时,在浏览器中得到了空值,但在数据库中它存储了这些值。。 而且,在调试时,编译器将捕获块。。 任何人都能找到我的错误。请让异常记录错误信息,以便您自己正确诊断,而不是返回null: catch(Exception e) { System.out.println("Error: " + e.getLocalizedMessage()); e.printStackTrace(); } 很明显,良好的日志记录实践、错误处理等远不止于此,但它可以推动您前
任何人都能找到我的错误。请让异常记录错误信息,以便您自己正确诊断,而不是返回null:
catch(Exception e)
{
System.out.println("Error: " + e.getLocalizedMessage());
e.printStackTrace();
}
很明显,良好的日志记录实践、错误处理等远不止于此,但它可以推动您前进。我猜您的SQL语句返回了不止一行-来自
queryForObject
查询应为单行/单列查询;返回的结果将直接映射到相应的对象类型
如果返回多行,将抛出一个
IncorrectResultSizeDataAccessException
,导致方法返回null。inceBean.get(“asessmentBean”)
如果asessmentBean
应该是某个id,那么我怀疑它可能包含一个尾随空格。是啊,它在浏览器中显示,但只有第一次,如果我插入更多值,则值保存在数据库中,但在浏览器中覆盖它,null值显示意味着没有任何内容,因此使用queryForList而不是queryForObject,然后选择元素在要在页面中显示的列表中。正如上面DaveHowes所说,您的问题是,您期望返回一个结果,但得到几个结果。