当前位置:首页 > 开发 > 编程语言 > mybatis,Ibatis > 正文

[简单]Ibatis Error setting property Cause: java.lang.IllegalArgumentException错误记录

发表于: 2014-08-13   作者:53873039oycg   来源:转载   浏览:
摘要:        今天用Ibatis的时候写了个简单的查询语句,如下:         <select id="getAllBean" parameterClass="int" resultClass="Tes

       今天用Ibatis的时候写了个简单的查询语句,如下:

       

 <select id="getAllBean" parameterClass="int" resultClass="TestBean">
		SELECT *
		 FROM TEST_BEAN START WITH ID =#orgId# 
		CONNECT BY PRIOR PARENTID = ID
	</select>

    测试的时候报错了,错误信息如下

   

Caused by: java.lang.RuntimeException: Error setting property 'setParentId' of 'com.ai.educore.bean.TestBean@3450f068'.  Cause: java.lang.IllegalArgumentException
	at com.ibatis.sqlmap.engine.accessplan.PropertyAccessPlan.setProperties(PropertyAccessPlan.java:52)
	at com.ibatis.sqlmap.engine.exchange.JavaBeanDataExchange.setData(JavaBeanDataExchange.java:112)
	at com.ibatis.sqlmap.engine.mapping.result.ResultMap.setResultObjectValues(ResultMap.java:371)
	at com.ibatis.sqlmap.engine.mapping.result.AutoResultMap.setResultObjectValues(AutoResultMap.java:57)
	at com.ibatis.sqlmap.engine.mapping.statement.RowHandlerCallback.handleResultObject(RowHandlerCallback.java:64)
	at com.ibatis.sqlmap.engine.execution.SqlExecutor.handleResults(SqlExecutor.java:385)
	at com.ibatis.sqlmap.engine.execution.SqlExecutor.handleMultipleResults(SqlExecutor.java:300)
	at com.ibatis.sqlmap.engine.execution.SqlExecutor.executeQuery(SqlExecutor.java:189)
	at com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.sqlExecuteQuery(MappedStatement.java:221)
	at com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.executeQueryWithCallback(MappedStatement.java:189)
	... 65 more
Caused by: java.lang.IllegalArgumentException
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at com.ibatis.common.beans.MethodInvoker.invoke(MethodInvoker.java:17)
	at com.ibatis.sqlmap.engine.accessplan.PropertyAccessPlan.setProperties(PropertyAccessPlan.java:46)
	... 74 more  

    错误原因可能是数据库中parentId字段为空

    解决方法:把JavaBean中parentId类型改为基础类型的包装类,如int改为Integer

 

     全文完

   

 

[简单]Ibatis Error setting property Cause: java.lang.IllegalArgumentException错误记录

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
这是我于2013年9月4号晚遇到的问题,为了这个问题我一夜没睡! 对于这个问题,我相信我的方法已经能
[SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.ecl
Flex CreateProcess error=32009-11-16 15:00安装了NETSCAPE浏览器,调试FLEX程序出错,提示如下:c
出现这样的错误时说明自己忘记加载数据库了, application/config/aotuload.php $autoload['librarie
这是我于2013年9月4号晚遇到的问题,为了这个问题我一夜没睡! 对于这个问题,我相信我的方法已经能
这是我于2013年9月4号晚遇到的问题,为了这个问题我一夜没睡! 对于这个问题,我相信我的方法已经能
同事写了段sql报错,错误信息:ora-01899精度说明符错误,如下: 同事的sql简化后如下: select 1 f
这是由于模拟器不支持OpenGL ES 2.0,解决办法就是编辑模拟器属性,将emulation options中Use Host
最近把Eclipse的maven插件从m2eclipse更新到m2e后出了一些莫名其妙的的问题。今天又出了一个,就是E
最近把Eclipse的maven插件从m2eclipse更新到m2e后出了一些莫名其妙的的问题。今天又出了一个,就是E
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号