今天用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。
全文完。
相关推荐
Caused by: java.net.UnknownHostException: openapi.alipay.com
**OGNL(Object-Graph Navigation Language)**是一种强大的表达式语言,主要用于获取和设置Java对象的属性。在Java开发中,尤其是Web应用框架如Struts2和Hibernate中,OGNL被广泛使用。它允许开发者以简洁的方式...
在使用Mybatis框架时,你可能会遇到`org.apache.ibatis.exceptions.PersistenceException`这样的异常。这个异常通常表示在执行数据库查询操作时遇到了问题。本篇将详细分析这个问题并提供解决方法。 ### 问题概述 ...
Cause: java.lang.IllegalStateException: Cannot enable lazy loading because CGLIB is not available. Add CGLIB to your classpath.:java.lang.IncompatibleClassChangeError: class ...
iBATIS,全称为“Infrastructure for Binding Applications To SQL Maps”,是一个优秀的开源持久层框架,它允许Java开发者将SQL语句与Java代码分离,提供了一种简单但强大的在Java应用中映射SQL和结果集的方式。...
### iBATIS内置别名列表解析 #### 一、引言 iBATIS是一款开源的持久层框架,它简化了Java应用程序与数据库之间的交互过程。为了提高开发效率和代码的可读性,iBATIS引入了一系列内置别名,用于简化配置文件中的全...
- 配置管理:正确配置数据库连接信息、事务管理及日志记录等是使用IBatis的基础。 - 映射文件设计:设计清晰、可复用的映射文件,可以大大提高代码的可维护性。 - SQL优化:充分利用动态SQL,避免硬编码,提升SQL...
ibatis-2.3.3.720.jar
Ibatis,全称为MyBatis,是一个优秀的Java持久层框架,它主要负责简化数据库操作,将SQL语句与Java代码分离,使得开发人员能够更加专注于业务逻辑。在本主题中,我们将深入探讨Ibatis的两个特定版本:ibatis2.3.4.8....
错误日志显示的是一个`MybatisPlusException`,提示“Your property named 'username' cannot find the corresponding database column name!”,这意味着MyBatis-Plus在尝试映射Java对象的属性(如`username`)到...
标题 "ibatis-2.3.0.677.jar" 指向的是一个特定版本的 iBATIS 库,即版本号为 2.3.0.677 的 JAR 文件。iBATIS 是一个开源的 Java 框架,主要用于简化数据库与应用程序之间的交互。它在早期广泛应用于企业级应用开发...
Cause: java.lang.RuntimeException: Error parsing XPath '/sqlMapConfig/sqlMap'。这种错误是由于SqlMapConfig.xml文件的配置不正确引起的。 4. IBatis的Namespace 在IBatis中,Namespace是用于区分不同的...
Ibatis和Mybatis都是广泛使用的Java ORM(对象关系映射)框架,它们帮助开发者将数据库操作与业务逻辑解耦。本篇文章将探讨从ibatis2.x升级到mybatis3.x的过程,揭示其中的技术变迁和核心变化。 Ibatis2.x是一款轻...
ibatis-2.3.4.732.jar
ibatis-3-core-3.0.0.242.jar.zipibatis-3-core-3.0.0.242.jar.zipibatis-3-core-3.0.0.242.jar.zipibatis-3-core-3.0.0.242.jar.zipibatis-3-core-3.0.0.242.jar.zip
**IBatis.net 框架详解** IBatis.net 是一款流行的开源数据访问框架,它将SQL映射功能与.NET应用程序的业务逻辑分离,提供了一种灵活的非侵入式的数据访问解决方案。本篇将深入探讨IBatis.Net的核心组件——IBatis....
Ibatis,一个强大的Java持久层框架,以其轻量级、高度灵活的特点在众多开发者中备受青睐。2.3.0.677是Ibatis的一个重要版本,被誉为“最稳定”的版本,它提供了可靠的性能和稳定性,使得开发人员在处理数据库操作时...
at org.apache.ibatis.builder.xml.XMLStatementBuilder$IncludeNodeHandler.handleNode(XMLStatementBuilder.java:160) at org.apache.ibatis.builder.xml.XMLStatementBuilder.parseDynamicTags...
Ibatis,全称为MyBatis,是一个优秀的Java持久层框架,它主要负责简化数据库操作,将SQL语句与Java代码分离,使得开发人员能够更加专注于SQL的编写和优化,而无需关心JDBC的繁琐工作。这里提到的是Ibatis的一个特定...