You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user-java@ibatis.apache.org by Sathish S <fl...@gmail.com> on 2006/01/09 17:20:47 UTC

Nested Iterator

Hi All,
    I was wondering if batch update is possible in iBatis.

I have a bean TableList which I would like to update
TableList
    private java.lang.String dbName;
    private com.students.vo.Table[] tables;

Table
    private int studentId;
    private int class;
    private java.lang.String studentName;
    private java.lang.String classTeacher;
    private com.students.vo.Subject[] subjects;


My SQLMap file looks like this

<sqlMap namespace="ReplicationData">

    <typeAlias alias="tableList" type="com.students.vo.TableList" />
    <typeAlias alias="table" type="com.students.vo.Table" />
    <typeAlias alias="subject" type="com.students.vo.Subject" />

    <update id="updateTable" parameterClass="tableList">
        update $dbName$..studentInfo set
        <iterate property="tables">
            StudentId=#tables[].studentId# where
            name=#tables[].studentName#
            classInCharge=#tables[].classTeacher#
        </iterate>
    </update>

</sqlMap>

But whenever i execute my query, I get the following error

2006-01-09 19:27:23,210 +0530 ERROR [EDSUtils][http-8080-Processor24] -
throwEDSFault
com.ibatis.dao.client.DaoException: Failed to update - id
[updateTableMetaData] - parameterObject [com.students.vo.TableList@cb2e3e4e].
Cause: com.ibatis.common.jdbc.exception.NestedSQLException:
--- The error occurred in
com/students/dao/datamap/sql/ReplicationConfiguration.xml.
--- The error occurred while preparing the mapped statement for execution.
--- Check the updateTable.
--- Check the parameter map.
--- Cause: com.ibatis.common.beans.ProbeException: Error getting ordinal
list from JavaBean. Cause java.lang.NumberFormatException: For input string:
""
Caused by: java.lang.NumberFormatException: For input string: ""
Caused by: com.ibatis.common.beans.ProbeException: Error getting ordinal
list from JavaBean. Cause java.lang.NumberFormatException: For input string:
""
Caused by: java.lang.NumberFormatException: For input string: ""
Caused by: com.ibatis.common.jdbc.exception.NestedSQLException:
--- The error occurred in
com/students/dao/datamap/sql/ReplicationConfiguration.xml.
--- The error occurred while preparing the mapped statement for execution.
--- Check the updateTable.
--- Check the parameter map.
--- Cause: com.ibatis.common.beans.ProbeException: Error getting ordinal
list from JavaBean. Cause java.lang.NumberFormatException: For input string:
""
Caused by: java.lang.NumberFormatException: For input string: ""
Caused by: com.ibatis.common.beans.ProbeException: Error getting ordinal
list from JavaBean. Cause java.lang.NumberFormatException: For input string:
""
Caused by: java.lang.NumberFormatException: For input string: ""
    at com.ibatis.dao.client.template.SqlMapDaoTemplate.update(
SqlMapDaoTemplate.java:124)
    at com.students.datamap.ReplicationConfigurationSqlMapDao.updateTables(
ReplicationConfigurationSqlMapDao.java:41)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(
NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(
DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:324)
    at com.ibatis.dao.engine.impl.DaoProxy.invoke(DaoProxy.java:64)
    at $Proxy1.updateTables(Unknown Source)
....
....


Can anyone tell me wht's that I am doing wrong??

--
Thanks,
Sathish S