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:rjis...@gmail.com] >>>>> Sent: Friday, October 09, 2009 10:49 AM >>>>> To: user-java@ibatis.apache.org >>>>> 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 rjis...@gmail.com >>>>>>> >>>>>>> >>>>>> --------------------------------------------------------------------- >>>>>> To unsubscribe, e-mail: user-java-unsubscr...@ibatis.apache.org >>>>>> For additional commands, e-mail: user-java-h...@ibatis.apache.org >>>>>> >>>>>> >>>>>> >>>>> -- >>>>> 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: user-java-unsubscr...@ibatis.apache.org >>>>> For additional commands, e-mail: user-java-h...@ibatis.apache.org >>>>> 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: user-java-unsubscr...@ibatis.apache.org >>>>> For additional commands, e-mail: user-java-h...@ibatis.apache.org >>>>> >>>>> >>>>> >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: user-java-unsubscr...@ibatis.apache.org >>> For additional commands, e-mail: user-java-h...@ibatis.apache.org >>> >>> >>> >> > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: user-java-unsubscr...@ibatis.apache.org > For additional commands, e-mail: user-java-h...@ibatis.apache.org > > > -- View this message in context: http://www.nabble.com/IBatis-Array-feild-insertion-problem-in-postgres-database%28%29Please-help-me%29-tp25799490p25886006.html Sent from the iBATIS - User - Java mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: user-java-unsubscr...@ibatis.apache.org For additional commands, e-mail: user-java-h...@ibatis.apache.org