I have uploaded the detailed list of my
http://www.nabble.com/file/p26058747/SourceCodelist SourceCodelist source
code ....
jishnu123 wrote:
>
>
> Dear Ingmar Lötzsch,
>
>
> Still, I am facing the problem for inserting array field
> through iBatis..
> Current error list as follows...
>
> Errors List in insert groups::::::::::::::SqlMapClient operation;
> uncategorized SQLException for SQL []; SQL state [null]; error code [0];
> --- The error occurred in org/ada/kms/sqlmap/KmsgroupSQLMap.xml.
> --- The error occurred while applying a parameter map.
> --- Check the kmsgroups.insertgroups-InlineParameterMap.
> --- Check the parameter mapping for the 'kmsgrpaccessiblegroup' property.
> --- Cause: java.lang.ClassCastException: org.ada.kms.domain.IntArray
> cannot be cast to java.util.Collection; nested exception is
> com.ibatis.common.jdbc.exception.NestedSQLException:
> --- The error occurred in org/ada/kms/sqlmap/KmsgroupSQLMap.xml.
> --- The error occurred while applying a parameter map.
> --- Check the kmsgroups.insertgroups-InlineParameterMap.
> --- Check the parameter mapping for the 'kmsgrpaccessiblegroup' property.
> --- Cause: java.lang.ClassCastException: org.ada.kms.domain.IntArray
> cannot be cast to java.util.Collection
>
>
> If you get any idea please sent me immediately......
>
> Ingmar Lötzsch wrote:
>>
>> Look at the stacktrace:
>>
>>> Caused by: com.ibatis.common.jdbc.exception.NestedSQLException:
>>> --- The error occurred in org/ada/kms/sqlmap/KmsgroupSQLMap.xml.
>>> --- The error occurred while applying a parameter map.
>>> --- Check the kmsgroups.insertgroups-InlineParameterMap.
>>> --- Check the parameter mapping for the 'kmsgroupactive' property.
>>
>> The INSERT failed because of an NullPointerException.
>>
>> Seems this is related to property kmsgroupactive.
>>
>> What type is kmsgroupactive?
>>
>> What is the actual value of kmsgroupactive during excution?
>>
>> Set a breakpoint in your DAO and inspect the parameters.
>>
>> Seems your problem is not related to the array.
>>
>> jishnu123 schrieb:
>>>
>>> Hai,
>>>
>>> Thank you for your reply....I got exception details as
>>> follows.....please
>>> reply immediately...
>>>
>>> org.springframework.jdbc.UncategorizedSQLException: SqlMapClient
>>> operation;
>>> uncategorized SQLException for SQL []; SQL state [null]; error code [0];
>>> --- The error occurred in org/ada/kms/sqlmap/KmsgroupSQLMap.xml.
>>> --- The error occurred while applying a parameter map.
>>> --- Check the kmsgroups.insertgroups-InlineParameterMap.
>>> --- Check the parameter mapping for the 'kmsgroupactive' property.
>>> --- Cause: java.lang.NullPointerException; nested exception is
>>> com.ibatis.common.jdbc.exception.NestedSQLException:
>>> --- The error occurred in org/ada/kms/sqlmap/KmsgroupSQLMap.xml.
>>> --- The error occurred while applying a parameter map.
>>> --- Check the kmsgroups.insertgroups-InlineParameterMap.
>>> --- Check the parameter mapping for the 'kmsgroupactive' property.
>>> --- Cause: java.lang.NullPointerException
>>> Caused by: com.ibatis.common.jdbc.exception.NestedSQLException:
>>> --- The error occurred in org/ada/kms/sqlmap/KmsgroupSQLMap.xml.
>>> --- The error occurred while applying a parameter map.
>>> --- Check the kmsgroups.insertgroups-InlineParameterMap.
>>> --- Check the parameter mapping for the 'kmsgroupactive' property.
>>> --- Cause: java.lang.NullPointerException
>>> at
>>> com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.executeUpdate(MappedStatement.java:110)
>>> at
>>> com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.insert(SqlMapExecutorDelegate.java:393)
>>> at
>>> com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.insert(SqlMapSessionImpl.java:82)
>>> at
>>> org.springframework.orm.ibatis.SqlMapClientTemplate$9.doInSqlMapClient(SqlMapClientTemplate.java:370)
>>> at
>>> org.springframework.orm.ibatis.SqlMapClientTemplate.execute(SqlMapClientTemplate.java:194)
>>> at
>>> org.springframework.orm.ibatis.SqlMapClientTemplate.insert(SqlMapClientTemplate.java:368)
>>> at
>>> org.ada.kms.daoimpl.KmsAddServiceImpl.insertGroups(KmsAddServiceImpl.java:98)
>>> at
>>> org.ada.kms.formcontrollers.KmsGroupsFormController.onSubmit(KmsGroupsFormController.java:70)
>>> at
>>> org.springframework.web.servlet.mvc.SimpleFormController.processFormSubmission(SimpleFormController.java:267)
>>> at
>>> org.springframework.web.servlet.mvc.AbstractFormController.handleInvalidSubmit(AbstractFormController.java:671)
>>> at
>>> org.springframework.web.servlet.mvc.AbstractFormController.handleRequestInternal(AbstractFormController.java:272)
>>> at
>>> org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)
>>> at
>>> org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)
>>> at
>>> org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:859)
>>> at
>>> org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:793)
>>> at
>>> org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:476)
>>> at
>>> org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:441)
>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
>>> at
>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
>>> at
>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>>> at
>>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
>>> at
>>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
>>> at
>>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
>>> at
>>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
>>> at
>>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>>> at
>>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
>>> at
>>> org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:852)
>>> at
>>> org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:584)
>>> at
>>> org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1508)
>>> at java.lang.Thread.run(Thread.java:619)
>>> Caused by: java.lang.NullPointerException
>>> at
>>> com.ibatis.sqlmap.engine.mapping.parameter.ParameterMap.setParameter(ParameterMap.java:166)
>>> at
>>> com.ibatis.sqlmap.engine.mapping.parameter.ParameterMap.setParameters(ParameterMap.java:126)
>>> at
>>> com.ibatis.sqlmap.engine.execution.SqlExecutor.executeUpdate(SqlExecutor.java:78)
>>> at
>>> com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.sqlExecuteUpdate(MappedStatement.java:216)
>>> at
>>> com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.executeUpdate(MappedStatement.java:94)
>>> ... 30 more
>>> Errors List in insert groups::::::::::::::SqlMapClient operation;
>>> uncategorized SQLException for SQL []; SQL state [null]; error code [0];
>>> --- The error occurred in org/ada/kms/sqlmap/KmsgroupSQLMap.xml.
>>> --- The error occurred while applying a parameter map.
>>> --- Check the kmsgroups.insertgroups-InlineParameterMap.
>>> --- Check the parameter mapping for the 'kmsgroupactive' property.
>>> --- Cause: java.lang.NullPointerException; nested exception is
>>> com.ibatis.common.jdbc.exception.NestedSQLException:
>>> --- The error occurred in org/ada/kms/sqlmap/KmsgroupSQLMap.xml.
>>> --- The error occurred while applying a parameter map.
>>> --- Check the kmsgroups.insertgroups-InlineParameterMap.
>>> --- Check the parameter mapping for the 'kmsgroupactive' property.
>>> --- Cause: java.lang.NullPointerException
>>>
>>>
>>>
>>>
>>>
>>>
>>> Ingmar Lötzsch wrote:
>>>>>> INFO [org.springframework.beans.factory.xml.XmlBeanDefinitionReader]
>>>> INFO does not mean there was thrown an exception.
>>>>
>>>> What exceptions do you get?
>>>>
>>>> Are you certain all methods are invoked?
>>>>
>>>> Can you set breakpoints in
>>>>
>>>> - KmsGroup.getKmsgrpaccessiblegroup()
>>>> - ...DAO.insertGroups(KmsGroup kmsgroup)
>>>>
>>>> and debug the program?
>>>>
>>>> Consider to take all Java code out of the JSP. Nowadays it's a bad
>>>> practice to intermingle HTML and Java code.
>>>>
>>>> When plain JDBC works, make a test with iBATIS only. When this works,
>>>> make a test with Spring and iBATIS out of the webapp. When this works,
>>>> test your webapp.
>>>>
>>>> Ingmar
>>>>
>>>> jishnu123 schrieb:
>>>>> Dear Ingmar Lötzsch,
>>>>>
>>>>> Thank you for your reply.You send that code is working fine..Normal
>>>>> code
>>>>> it was worked .
>>>>> Problem for integration of spring mvc with iBatis....
>>>>> I have put some related code as follows....
>>>>>
>>>>> 1)My jsp page
>>>>>
>>>>> <td align="left" width="200">
>>>>> <label for="Othergroups">Other
>>>>> Accessible Groups :</label>
>>>>> </td>
>>>>> <td align="left" width="100"><select
>>>>> name="kmsgrpaccessiblegroups"
>>>>> class="hintanchor" onMouseover="showhint('Please choose other
>>>>> groups
>>>>> Should consist of drag and drop list.', this, event, '200px')"
>>>>> multiple="multiple" style="width: 140px" size="4">
>>>>> <%
>>>>> for(int i=0; i<oGroupArraylist.size();
>>>>> i++) {
>>>>> obKmsgroup =
>>>>> (KmsGroup)oGroupArraylist.get(i);
>>>>> %>
>>>>> <option name="<%=obKmsgroup.getKmsgrpgroupname()%>"
>>>>>
>>>>> value="<%=obKmsgroup.getKmsgrpgroupid()%>"><%=obKmsgroup.getKmsgrpgroupname()%></option>
>>>>> <%
>>>>> }
>>>>>
>>>>> %>
>>>>> </select></td>
>>>>>
>>>>> 2)domain class
>>>>>
>>>>> private int[] kmsgrpaccessiblegroups;
>>>>> private IntArray kmsgrpaccessiblegroup;
>>>>>
>>>>> public IntArray getKmsgrpaccessiblegroup() {
>>>>> return kmsgrpaccessiblegroup;
>>>>> }
>>>>> public void setKmsgrpaccessiblegroup(IntArray kmsgrpaccessiblegroup)
>>>>> {
>>>>> this.kmsgrpaccessiblegroup = kmsgrpaccessiblegroup;
>>>>> }
>>>>> public int[] getKmsgrpaccessiblegroups() {
>>>>> return kmsgrpaccessiblegroups;
>>>>> }
>>>>> public void setKmsgrpaccessiblegroups(int[] kmsgrpaccessiblegroups) {
>>>>> this.kmsgrpaccessiblegroups = kmsgrpaccessiblegroups;
>>>>> logger.info("setKmsgrpaccessiblegroups set to "
>>>>> +kmsgrpaccessiblegroups);
>>>>> }
>>>>>
>>>>> 3)FormController
>>>>>
>>>>> int[] arrayData=obkmsgroup.getKmsgrpaccessiblegroups();
>>>>>
>>>>> for(int i=0;i<arrayData.length;i++)
>>>>> System.out.println("The data of the array=="+arrayData[i]);
>>>>> IntArray intArray = new IntArray(arrayData);
>>>>> logger.info("INT ARRAY DETAILS=="+intArray);
>>>>> obkmsgroup.setKmsgrpaccessiblegroup(intArray);
>>>>> 4)Dao Implementatiion
>>>>> public void insertGroups(KmsGroup kmsgroup)throws Exception{
>>>>> logger.info("Start Executing query for insert kmsgroups");
>>>>> template.insert("kmsgroups.insertgroups",kmsgroup);
>>>>> }
>>>>> 4)Mapping file
>>>>> <typeAlias alias="IntArrayTypeHandler"
>>>>> type="org.ada.kms.domain.IntArrayTypeHandler"/>
>>>>> <insert id="insertgroups" parameterClass="kmsgroup">
>>>>>
>>>>> INSERT INTO
>>>>> kms.kms_group(kms_grp_groupid,kms_grp_groupname,kms_group_active,kms_grp_description,kms_grp_createdon,kms_grp_createdby,kms_grp_accessiblegroup)
>>>>>
>>>>>
>>>>> VALUES(#kmsgrpgroupid#,#kmsgrpgroupname#,#kmsgroupactive#,#kmsgrpdescription#,#kmsgrpcreatedon#,#kmsgrpcreatedby#,
>>>>> #kmsgrpaccessiblegroup,handler=IntArrayTypeHandler#)
>>>>>
>>>>> </insert>
>>>>>
>>>>> 5)Alraedy implemented java beans like IntArray,SqlArrayAdapter, and
>>>>> IntArrayTypeHandler
>>>>>
>>>>>
>>>>> The same message get the eclipse console as follows..
>>>>>
>>>>>> INFO [org.springframework.beans.factory.xml.XmlBeanDefinitionReader]
>>>>>> -
>>>>>> <Loading XML bean definitions from class path resource
>>>>>> [org/springframework/jdbc/support/sql-error-codes.xml]>
>>>>>> INFO [org.springframework.jdbc.support.SQLErrorCodesFactory] -
>>>>>> <SQLErrorCodes loaded: [DB2, Derby, H2, HSQL, Informix, MS-SQL,
>>>>>> MySQL,
>>>>>> Oracle, PostgreSQL, Sybase]>
>>>>>
>>>>> Any idea u get please reply immediately....
>>>>>
>>>>> Ingmar Lötzsch wrote:
>>>>>> Can you post the exceptions?
>>>>>>
>>>>>> Can you do the following:
>>>>>>
>>>>>> On SQL-client (Console/pgAdmin)
>>>>>>
>>>>>> CREATE TABLE arraytest
>>>>>> (
>>>>>> id int NOT NULL PRIMARY KEY,
>>>>>> intarray int[] NOT NULL
>>>>>> )
>>>>>> WITHOUT OIDS;
>>>>>>
>>>>>> INSERT INTO arraytest (id, intarray) VALUES (1, ARRAY[1, 2]);
>>>>>> INSERT INTO arraytest (id, intarray) VALUES (2, '{1, 3}' :: int[]);
>>>>>>
>>>>>> Can you than execute the following code using class IntArray:
>>>>>>
>>>>>> import java.sql.Connection;
>>>>>> import java.sql.DriverManager;
>>>>>> import java.sql.PreparedStatement;
>>>>>>
>>>>>> public class ArrayTest
>>>>>> {
>>>>>> public static void main(String[] args)
>>>>>> {
>>>>>> try
>>>>>> {
>>>>>> Class.forName("org.postgresql.Driver");
>>>>>> String url = "jdbc:postgresql://localhost/test";
>>>>>> Connection con = DriverManager.getConnection(url,
>>>>>> "postgres",
>>>>>> "admin");
>>>>>>
>>>>>> String sql = "INSERT INTO arraytest (id, intarray)
>>>>>> VALUES (?, ?)";
>>>>>> PreparedStatement pstmt = con.prepareStatement(sql);
>>>>>> pstmt.setInt(1, 3);
>>>>>> int[] ints = {2, 4};
>>>>>> IntArray intArray = new IntArray(ints);
>>>>>> pstmt.setArray(2, intArray);
>>>>>> int rows = pstmt.executeUpdate();
>>>>>> System.out.println(rows);
>>>>>> pstmt.close();
>>>>>> con.close();
>>>>>> }
>>>>>> catch (Exception e)
>>>>>> {
>>>>>> e.printStackTrace(System.out);
>>>>>> }
>>>>>> }
>>>>>> }
>>>>>>
>>>>>> Do you get any exceptions?
>>>>>>
>>>>>> jishnu123 schrieb:
>>>>>>> I have already implemented all java beans with
>>>>>>> SqlArrayAdapter,IntArray
>>>>>>> and
>>>>>>> IntArrayTypeHandler..But iam still facing the same
>>>>>>> problem....Actually
>>>>>>> i
>>>>>>> had
>>>>>>> implemented my project using spring mvc with iBatis..I think spring
>>>>>>> MVC
>>>>>>> problem...
>>>>>>>
>>>>>>> I again mention that particular error as follows....Any body have
>>>>>>> any
>>>>>>> idea
>>>>>>> to solve that problem... Please sent reply immediately...
>>>>>>>
>>>>>>> INFO [org.springframework.beans.factory.xml.XmlBeanDefinitionReader]
>>>>>>> -
>>>>>>> <Loading XML bean definitions from class path resource
>>>>>>> [org/springframework/jdbc/support/sql-error-codes.xml]>
>>>>>>> INFO [org.springframework.jdbc.support.SQLErrorCodesFactory] -
>>>>>>> <SQLErrorCodes loaded: [DB2, Derby, H2, HSQL, Informix, MS-SQL,
>>>>>>> MySQL,
>>>>>>> Oracle, PostgreSQL, Sybase]>
>>>>>>>
>>>>>>>
>>>>>>> Rahul Saluja wrote:
>>>>>>>> Hi Jishnu,
>>>>>>>>
>>>>>>>> I cannot understand anything by given exception but yes suggested
>>>>>>>> implementation by Ingmar is rite approach and moreover which
>>>>>>>> version
>>>>>>>> of
>>>>>>>> Postgres you are using as in 7.3.1 it is nlot possible to store the
>>>>>>>> array
>>>>>>>> data so better way of doing it is to convert the data in String and
>>>>>>>> push
>>>>>>>> it as varchar and while retrieving back convert back it into your
>>>>>>>> required datatype array here is the example you can use for
>>>>>>>> insertion.
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> import java.sql.SQLException;
>>>>>>>> import java.sql.Types;
>>>>>>>> import java.util.Vector;
>>>>>>>>
>>>>>>>> import com.hns.hss.nmf.common.util.unilogger.LogFactory;
>>>>>>>> import com.hns.hss.nmf.common.util.unilogger.LoggerIf;
>>>>>>>> import com.ibatis.sqlmap.client.extensions.ParameterSetter;
>>>>>>>> import com.ibatis.sqlmap.client.extensions.ResultGetter;
>>>>>>>> import com.ibatis.sqlmap.client.extensions.TypeHandlerCallback;
>>>>>>>>
>>>>>>>> public class ByteArrayToTimeStampHandler implements
>>>>>>>> TypeHandlerCallback
>>>>>>>> {
>>>>>>>> private static LoggerIf log_ =
>>>>>>>> LogFactory.getLoggerIf(ArraysToStringTypeHandler.class.getName());
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> public Object getResult(ResultGetter arg0) throws
>>>>>>>> SQLException
>>>>>>>> {
>>>>>>>> // TODO Auto-generated method stub
>>>>>>>> return null;
>>>>>>>> }
>>>>>>>>
>>>>>>>>
>>>>>>>> public void setParameter(ParameterSetter setter, Object
>>>>>>>> parameter)
>>>>>>>> throws SQLException
>>>>>>>> {
>>>>>>>> if (parameter == null)
>>>>>>>> {
>>>>>>>> setter.setNull(Types.CHAR);
>>>>>>>> }
>>>>>>>> else
>>>>>>>> {
>>>>>>>>
>>>>>>>> setter.setString(ArraysToString(parameter));
>>>>>>>> }
>>>>>>>> // TODO Auto-generated method stub
>>>>>>>>
>>>>>>>> }
>>>>>>>>
>>>>>>>>
>>>>>>>> public Object valueOf(String arg0)
>>>>>>>> {
>>>>>>>> // TODO Auto-generated method stub
>>>>>>>> return null;
>>>>>>>> }
>>>>>>>>
>>>>>>>>
>>>>>>>> private String ArraysToString(Object obj)
>>>>>>>> {
>>>>>>>> if (obj == null)
>>>>>>>> {
>>>>>>>> throw new IllegalArgumentException("Could
>>>>>>>> not
>>>>>>>> convert null to a String value. " + "Valid argument is an array of
>>>>>>>> type
>>>>>>>> I_U8 Only ");
>>>>>>>> }
>>>>>>>>
>>>>>>>> else if (obj instanceof
>>>>>>>> com.hns.hss.nmf.server.log.manager.gensrc.Common.I_U8[])
>>>>>>>> {
>>>>>>>>
>>>>>>>> com.hns.hss.nmf.server.log.manager.gensrc.Common.I_U8[]
>>>>>>>> ourData
>>>>>>>> =
>>>>>>>> (com.hns.hss.nmf.server.log.manager.gensrc.Common.I_U8[]) obj;
>>>>>>>> int length = ourData.length;
>>>>>>>> Vector byteVector = new Vector();
>>>>>>>> //byte[] newByteArray = new byte[length-1];
>>>>>>>> int count = 0;
>>>>>>>>
>>>>>>>> for (int i = 0; i < length; i++)
>>>>>>>> {
>>>>>>>>
>>>>>>>> if (ourData[i].getValue() == (byte)
>>>>>>>> '\0')
>>>>>>>> //\0 byte value
>>>>>>>> {
>>>>>>>> log_.debug(" NULL CHAR
>>>>>>>> FOUND
>>>>>>>> ");
>>>>>>>> break;
>>>>>>>> }
>>>>>>>> else
>>>>>>>> {
>>>>>>>>
>>>>>>>> byteVector.add(ourData[i].getValue());
>>>>>>>> count++;
>>>>>>>> }
>>>>>>>> }
>>>>>>>> log_.debug(" Byte Vector " + byteVector);
>>>>>>>> String finalHexString = new String();
>>>>>>>> StringBuffer finalString = new
>>>>>>>> StringBuffer();
>>>>>>>> //String returnString = new String();
>>>>>>>> try
>>>>>>>> {
>>>>>>>> finalHexString =
>>>>>>>> ByteArrayToTimeStampHandler.getHexString(byteVector);
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> ByteArrayToTimeStampHandler.hexToString(finalHexString,
>>>>>>>> finalString);
>>>>>>>> log_.debug("finalString is " +
>>>>>>>> finalString.toString());
>>>>>>>>
>>>>>>>>
>>>>>>>> if ( ourData[0].getValue() !=
>>>>>>>> (byte)45
>>>>>>>> )
>>>>>>>> //Not a Negative Sign
>>>>>>>> {
>>>>>>>> log_.debug(" NOT A NEGATIVE SIGN
>>>>>>>> ");
>>>>>>>> returnString = " " + finalString;
>>>>>>>>
>>>>>>>>
>>>>>>>> }else // Negative Sign
>>>>>>>> {
>>>>>>>> returnString = "-"
>>>>>>>> +
>>>>>>>> finalString;
>>>>>>>>
>>>>>>>> }
>>>>>>>>
>>>>>>>> }
>>>>>>>> catch (Exception e)
>>>>>>>> {
>>>>>>>> e.printStackTrace();
>>>>>>>> }
>>>>>>>>
>>>>>>>> String checkString =
>>>>>>>> finalString.toString();
>>>>>>>> return checkString;
>>>>>>>>
>>>>>>>> }
>>>>>>>> else
>>>>>>>> {
>>>>>>>>
>>>>>>>> return null;
>>>>>>>> }
>>>>>>>> //return null;
>>>>>>>>
>>>>>>>> }
>>>>>>>>
>>>>>>>>
>>>>>>>> public static final void hexToString(String hex,
>>>>>>>> StringBuffer
>>>>>>>> out)
>>>>>>>> {
>>>>>>>> if (hex == null) return;
>>>>>>>> int length = hex.length() & -4;
>>>>>>>> for (int pos = 0; pos < length; pos += 4)
>>>>>>>> {
>>>>>>>> int this_char = 0;
>>>>>>>> try
>>>>>>>> {
>>>>>>>> this_char = Integer.parseInt(hex.substring(pos, pos
>>>>>>>> +
>>>>>>>> 4),
>>>>>>>> 16);
>>>>>>>> }
>>>>>>>> catch (NumberFormatException NF_Ex)
>>>>>>>> {
>>>>>>>> }
>>>>>>>> out.append((char) this_char);
>>>>>>>> }
>>>>>>>> }
>>>>>>>>
>>>>>>>> public static String getHexString(Vector vector) throws
>>>>>>>> Exception
>>>>>>>> {
>>>>>>>>
>>>>>>>> String result = "00";
>>>>>>>> short[] b = new short[vector.size()];
>>>>>>>>
>>>>>>>> for (int j = 0; j < vector.size(); j++)
>>>>>>>> {
>>>>>>>>
>>>>>>>> b[j] = ((Short)
>>>>>>>> vector.get(j)).shortValue();
>>>>>>>> }
>>>>>>>> for (int i = 0; i < b.length; i++)
>>>>>>>> {
>>>>>>>> result += Integer.toString((b[i] & 0xff) + 0x100,
>>>>>>>> 16).substring(1);
>>>>>>>> result += "00";
>>>>>>>> }
>>>>>>>>
>>>>>>>> return result.substring(0, result.length() - 2);
>>>>>>>> }
>>>>>>>> }
>>>>>>>> -----Original Message-----
>>>>>>>> From: jishnu123 [mailto:[email protected]]
>>>>>>>> Sent: Friday, October 09, 2009 10:49 AM
>>>>>>>> To: [email protected]
>>>>>>>> Subject: Re: IBatis Array feild insertion problem in postgres
>>>>>>>> database()Please help me)
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> Thank you for your reply...I have already implemented type handler
>>>>>>>> and
>>>>>>>> all
>>>>>>>> classes as follows...But i got the the same error as
>>>>>>>> follows....Please
>>>>>>>> help
>>>>>>>> me.....I didn't try array feild selection....I have been trying to
>>>>>>>> insertion
>>>>>>>> of array feild...
>>>>>>>>
>>>>>>>> I have to mention again that error as follows....Any body get an
>>>>>>>> idea
>>>>>>>> please
>>>>>>>> reply immediately..
>>>>>>>>
>>>>>>>> INFO
>>>>>>>> [org.springframework.beans.factory.xml.XmlBeanDefinitionReader] -
>>>>>>>> <Loading XML bean definitions from class path resource
>>>>>>>> [org/springframework/jdbc/support/sql-error-codes.xml]>
>>>>>>>> INFO [org.springframework.jdbc.support.SQLErrorCodesFactory] -
>>>>>>>> <SQLErrorCodes loaded: [DB2, Derby, H2, HSQL, Informix, MS-SQL,
>>>>>>>> MySQL,
>>>>>>>> Oracle, PostgreSQL, Sybase]>
>>>>>>>>
>>>>>>>>
>>>>>>>> Ingmar Lötzsch wrote:
>>>>>>>>> You can use a type handler and implement java.sql.Array. Example:
>>>>>>>>>
>>>>>>>>> 1st: abstract superclass as adapter
>>>>>>>>>
>>>>>>>>> public abstract class SqlArrayAdapter
>>>>>>>>> implements Array
>>>>>>>>> {
>>>>>>>>> public Object getArray() throws SQLException
>>>>>>>>> {
>>>>>>>>> // Auto-generated method stub
>>>>>>>>> return null;
>>>>>>>>> }
>>>>>>>>>
>>>>>>>>> public Object getArray(long index, int count) throws
>>>>>>>>> SQLException
>>>>>>>>> {
>>>>>>>>> // Auto-generated method stub
>>>>>>>>> return null;
>>>>>>>>> }
>>>>>>>>>
>>>>>>>>> public Object getArray(long index, int count, Map<String,
>>>>>>>>> Class<
>>>>>>>>> ?
>>>>>>>>> map) throws SQLException
>>>>>>>>> {
>>>>>>>>> // Auto-generated method stub
>>>>>>>>> return null;
>>>>>>>>> }
>>>>>>>>>
>>>>>>>>> public Object getArray(Map<String, Class< ? >> map) throws
>>>>>>>>> SQLException
>>>>>>>>> {
>>>>>>>>> // Auto-generated method stub
>>>>>>>>> return null;
>>>>>>>>> }
>>>>>>>>>
>>>>>>>>> public int getBaseType() throws SQLException
>>>>>>>>> {
>>>>>>>>> // Auto-generated method stub
>>>>>>>>> return 0;
>>>>>>>>> }
>>>>>>>>>
>>>>>>>>> public String getBaseTypeName() throws SQLException
>>>>>>>>> {
>>>>>>>>> // Auto-generated method stub
>>>>>>>>> return null;
>>>>>>>>> }
>>>>>>>>>
>>>>>>>>> public ResultSet getResultSet() throws SQLException
>>>>>>>>> {
>>>>>>>>> // Auto-generated method stub
>>>>>>>>> return null;
>>>>>>>>> }
>>>>>>>>>
>>>>>>>>> public ResultSet getResultSet(long index, int count) throws
>>>>>>>>> SQLException
>>>>>>>>> {
>>>>>>>>> // Auto-generated method stub
>>>>>>>>> return null;
>>>>>>>>> }
>>>>>>>>>
>>>>>>>>> public ResultSet getResultSet(long index, int count,
>>>>>>>>> Map<String,
>>>>>>>>> Class<
>>>>>>>>> ? >> map) throws SQLException
>>>>>>>>> {
>>>>>>>>> // Auto-generated method stub
>>>>>>>>> return null;
>>>>>>>>> }
>>>>>>>>>
>>>>>>>>> public ResultSet getResultSet(Map<String, Class< ? >> map)
>>>>>>>>> throws
>>>>>>>>> SQLException
>>>>>>>>> {
>>>>>>>>> // Auto-generated method stub
>>>>>>>>> return null;
>>>>>>>>> }
>>>>>>>>> }
>>>>>>>>>
>>>>>>>>> 2nd: implementation of java.sql.Array for use with int[] or
>>>>>>>>> Collection<Integer>
>>>>>>>>>
>>>>>>>>> public class IntArray
>>>>>>>>> extends SqlArrayAdapter
>>>>>>>>> {
>>>>>>>>> private static final Integer[] emptyArray = new Integer[0];
>>>>>>>>>
>>>>>>>>> private int[] array;
>>>>>>>>>
>>>>>>>>> public IntArray(int[] array)
>>>>>>>>> {
>>>>>>>>> if (array == null)
>>>>>>>>> {
>>>>>>>>> throw new
>>>>>>>>> IllegalArgumentException("parameter
>>>>>>>>> array
>>>>>>>>> should not be
>>>>>>>>> null");
>>>>>>>>> }
>>>>>>>>> this.array = array;
>>>>>>>>> }
>>>>>>>>>
>>>>>>>>> public IntArray(Collection<Integer> set)
>>>>>>>>> {
>>>>>>>>> if (set == null)
>>>>>>>>> {
>>>>>>>>> throw new
>>>>>>>>> IllegalArgumentException("parameter
>>>>>>>>> set
>>>>>>>>> should not be null");
>>>>>>>>> }
>>>>>>>>> Integer[] keys = set.toArray(emptyArray);
>>>>>>>>>
>>>>>>>>> this.array = new int[keys.length];
>>>>>>>>> for (int i = 0; i < keys.length; ++i)
>>>>>>>>> {
>>>>>>>>> Integer key = keys[i];
>>>>>>>>> this.array[i] = key.intValue();
>>>>>>>>> }
>>>>>>>>> }
>>>>>>>>>
>>>>>>>>> @Override
>>>>>>>>> public int getBaseType()
>>>>>>>>> // throws SQLException
>>>>>>>>> {
>>>>>>>>> return Types.INTEGER;
>>>>>>>>> }
>>>>>>>>>
>>>>>>>>> /**
>>>>>>>>> * This method is called by driver ver. 8 but not by ver. 7.
>>>>>>>>> */
>>>>>>>>> @Override
>>>>>>>>> public String getBaseTypeName()
>>>>>>>>> // throws SQLException
>>>>>>>>> {
>>>>>>>>> return "int4";
>>>>>>>>> }
>>>>>>>>>
>>>>>>>>> /**
>>>>>>>>> * This method is called by both drivers ver. 8 and 7.
>>>>>>>>> */
>>>>>>>>> @Override
>>>>>>>>> public String toString()
>>>>>>>>> {
>>>>>>>>> String result = "{";
>>>>>>>>> for (int i = 0; i < this.array.length; ++i)
>>>>>>>>> {
>>>>>>>>> if (i > 0)
>>>>>>>>> {
>>>>>>>>> result += ",";
>>>>>>>>> }
>>>>>>>>> result += this.array[i];
>>>>>>>>> }
>>>>>>>>> result += "}";
>>>>>>>>> return result;
>>>>>>>>> }
>>>>>>>>>
>>>>>>>>> public void free()
>>>>>>>>> // throws SQLException
>>>>>>>>> {
>>>>>>>>> this.array = null;
>>>>>>>>> }
>>>>>>>>> }
>>>>>>>>>
>>>>>>>>> 3rd: implementation of TypeHandlerCallback
>>>>>>>>>
>>>>>>>>> public class IntArrayTypeHandler
>>>>>>>>> implements TypeHandlerCallback
>>>>>>>>> {
>>>>>>>>> public void setParameter(ParameterSetter setter, Object
>>>>>>>>> parameter)
>>>>>>>>> throws SQLException
>>>>>>>>> {
>>>>>>>>> Collection<Integer> keys = (Collection<Integer>)
>>>>>>>>> parameter;
>>>>>>>>> IntArray intArray = new IntArray(keys);
>>>>>>>>> setter.setArray(intArray);
>>>>>>>>> }
>>>>>>>>>
>>>>>>>>> public Object getResult(ResultGetter getter)
>>>>>>>>> throws SQLException
>>>>>>>>> {
>>>>>>>>> Array array = getter.getArray();
>>>>>>>>> return array;
>>>>>>>>> }
>>>>>>>>>
>>>>>>>>> public Object valueOf(String string)
>>>>>>>>> {
>>>>>>>>> return string;
>>>>>>>>> }
>>>>>>>>> }
>>>>>>>>>
>>>>>>>>> 4th: add the type handler to your configuration
>>>>>>>>> <typeAlias alias="IntArrayTypeHandler"
>>>>>>>>> type="com.asci.common.ibatis.IntArrayTypeHandler" />
>>>>>>>>>
>>>>>>>>> 5th: SQL map
>>>>>>>>>
>>>>>>>>> <select id="selectFahrgastById" parameterClass="map"
>>>>>>>>> resultMap="...">
>>>>>>>>> SELECT
>>>>>>>>> k.id,
>>>>>>>>> ...
>>>>>>>>> FROM kunden AS k
>>>>>>>>> WHERE k.id = ANY (#fahrgastIds,handler=IntArrayTypehandler#)
>>>>>>>>> </select>
>>>>>>>>>
>>>>>>>>> 6th: DAO
>>>>>>>>>
>>>>>>>>> public List<Fahrgast> selectFahrgastById(Set<Integer> fahrgastIds)
>>>>>>>>> {
>>>>>>>>> HashMap<String, Object> params = new HashMap<String,
>>>>>>>>> Object>();
>>>>>>>>> params.put("fahrgastIds", fahrgastIds);
>>>>>>>>> List<Fahrgast> list =
>>>>>>>>> getSqlMapClientTemplate().queryForList(
>>>>>>>>> "datenerfassung.selectFahrgastById", params);
>>>>>>>>> return list;
>>>>>>>>> }
>>>>>>>>>
>>>>>>>>> jishnu123 schrieb:
>>>>>>>>>> Hai,
>>>>>>>>>>
>>>>>>>>>> I have to tried insertion of array feild in postgres
>>>>>>>>>> database
>>>>>>>>>> using
>>>>>>>>>> spring mvc with iBatis.I got two lines error ...like
>>>>>>>>>>
>>>>>>>>>> Error as follows...
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> [org.springframework.beans.factory.xml.XmlBeanDefinitionReader] -
>>>>>>>>>> <Loading
>>>>>>>>>> XML bean definitions from class path resource
>>>>>>>>>> [org/springframework/jdbc/support/sql-error-codes.xml]>
>>>>>>>>>> [org.springframework.jdbc.support.SQLErrorCodesFactory] -
>>>>>>>>>> <SQLErrorCodes
>>>>>>>>>> loaded: [DB2, Derby, H2, HSQL, Informix, MS-SQL, MySQL, Oracle,
>>>>>>>>>> PostgreSQL,
>>>>>>>>>> Sybase]>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Its urgent ....Please help me........Any one has an idea
>>>>>>>>>> please
>>>>>>>>>> reply
>>>>>>>>>> immediately otherwise sent to my emaild id [email protected]
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>> ---------------------------------------------------------------------
>>>>>>>>> To unsubscribe, e-mail: [email protected]
>>>>>>>>> For additional commands, e-mail: [email protected]
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>> --
>>>>>>>> View this message in context:
>>>>>>>> http://www.nabble.com/IBatis-Array-feild-insertion-problem-in-postgres-database%28%29Please-help-me%29-tp25799490p25815639.html
>>>>>>>> Sent from the iBATIS - User - Java mailing list archive at
>>>>>>>> Nabble.com.
>>>>>>>>
>>>>>>>>
>>>>>>>> ---------------------------------------------------------------------
>>>>>>>> To unsubscribe, e-mail: [email protected]
>>>>>>>> For additional commands, e-mail: [email protected]
>>>>>>>> The information contained in this e-mail is private & confidential
>>>>>>>> and
>>>>>>>> may
>>>>>>>> also be legally privileged. If you are not the intended recipient,
>>>>>>>> please
>>>>>>>> notify us, preferably by e-mail, and do not read, copy or disclose
>>>>>>>> the
>>>>>>>> contents of this message to anyone.
>>>>>>>>
>>>>>>>> ---------------------------------------------------------------------
>>>>>>>> To unsubscribe, e-mail: [email protected]
>>>>>>>> For additional commands, e-mail: [email protected]
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>> ---------------------------------------------------------------------
>>>>>> To unsubscribe, e-mail: [email protected]
>>>>>> For additional commands, e-mail: [email protected]
>>>>>>
>>>>>>
>>>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: [email protected]
>>>> For additional commands, e-mail: [email protected]
>>>>
>>>>
>>>>
>>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [email protected]
>> For additional commands, e-mail: [email protected]
>>
>>
>>
>
>
--
View this message in context:
http://www.nabble.com/IBatis-Array-feild-insertion-problem-in-postgres-database%28%29Please-help-me%29-tp25799490p26058747.html
Sent from the iBATIS - User - Java mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]