ibatis-user-java mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ayan.m.afr...@jpmchase.com
Subject Re: Get return value and return result set
Date Tue, 28 Aug 2007 20:24:37 GMT
Maybe I am missing something, but coudln't you read in the Object[] arrays 
through ibatis, and then in your own methods, convert them to Lists? That 
way your other xml library can properly read them?

Ayan




"Fábio Pisaruk" <pisaruk@gmail.com> 
08/28/2007 05:12 PM
Please respond to
user-java@ibatis.apache.org


To
user-java@ibatis.apache.org, lmeadors@apache.org
cc

Subject
Re: Get return value and return result set






Thanks for your support.
I´m giving up ibatis xml built support.
It´s a pitty because i thought it´d help me a lot and maker map much 
simpler...

....


On 8/28/07, Larry Meadors <lmeadors@apache.org> wrote:
OK, the built in xml support in iBATIS is .. well, lame. Don't use it.
It will not be a core part of iBATIS3.

Now, are you talking about this? -> http://xmlbeans.apache.org/ 

If you are, that is not what iBATIS is going to spit out for you. I'd
suggest that if you need xml formatted the way that they do it, you'll
need to code that up yourself - iBATIS is not going to do that for 
you. Odds are good that XStream will get you close.

Larry


On 8/28/07, Fábio Pisaruk <pisaruk@gmail.com> wrote:
> Okay Niels.
> Thank you.
> I can´t figure out how xstream can be of any help to me. 
> Let me state my problem:
> I´ve got to build a xml from a set of data storage in a RDMS and to do 
so
> i´m using ibatis to map data to xmlbean objects. The main issue is that
> xmlbean maps nested list to java array( e.g Object[]) but ibatis works 
only
> with Collections.
> My idea was to use ibatis xml generation approach to avoid filling 
xmlbeans
> objects due to this incompatibility.
>
>
>
> 
>
> On 8/28/07, Niels Beekman <n.beekman@wis.nl> wrote:
> >
> >
> >
> >
> > I don't have any experience with returning XML from iBATIS, you'd 
probably 
> be better off using  XStream, like Clinton suggested, it's specifically
> written for dealing with XML. And if I'm not mistaken, the next version 
of
> iBATIS will remove XML-generation altogether, somebody correct me if I'm 

> wrong.
> >
> >
> >
> > Niels
> >
> >
> >
> > ________________________________
>
> >
> > From: Fábio Pisaruk [mailto: pisaruk@gmail.com]
> > Sent: dinsdag 28 augustus 2007 18:55
> >
> > To: user-java@ibatis.apache.org
> > Subject: Re: Get return value and return result set 
> >
> >
> >
> >
> > Hello Niels!
> >
> > I´ve already tried that before posting but it didn´t work either.
> > I´ve seen that i should use xmlCollection type to do what i want. Is 
it 
> rigth?
> > There´s no documentation related to retrieve nested xml elements so 
i´ll
> take a look at the source code and see what i can see.
> >
> > Thanks.
> >
> > 
> > On 8/28/07, Niels Beekman < n.beekman@wis.nl> wrote:
> >
> >
> >
> > Change <select id="nsGuiaConsulta.getCID" resultMap="get-cids" 
> parameterClass="int"> to <select id=" getCID" resultMap="get-cids"
> parameterClass="int">, the configured namespace includes all statements 
in
> the same SQLMap. 
> >
> >
> >
> > Niels
> >
> >
> >
> > ________________________________
>
> >
> > From: Fábio Pisaruk [mailto: pisaruk@gmail.com]
> > Sent: maandag 27 augustus 2007 23:45
> > To: user-java@ibatis.apache.org
> > Subject: Re: Get return value and return result set 
> >
> >
> >
> >
> > First of all i´s like to thank for the immediate response.
> > Second, i wanna apologize for posting a new question in an already 
oppened
> thread. My bad. 
> > Third, As far as i´m concerned you have just pointed out the missing
> namespace at my code.
> > I´ve added it but it didn´t work. I am still having the same error.
> > Here is my real code: 
> >
> > <sqlMap namespace="nsGuiaConsulta">
> > <resultMap class="xml" id="get-guias" xmlName="guiaConsulta">
> >         <result property="beneficiario" resultMap="get-beneficiario" 
> javaType="ctBeneficiario"/>
> >         <result property="cid" javaType="xmlCollection" 
column="num_lote"
> select=" nsGuiaConsulta.getCID"/> 
> >     </resultMap>
> >
> >     <resultMap class="xml" id="get-beneficiario" 
xmlName="beneficiario">
> >         <result property="numeroCarteira" 
> column="numeroCarteiraBeneficiario"/>
> >         <result property="nomeBeneficiario" 
column="nomeBeneficiario"/>
> >         <result property="nomePlano" column="nomePlano"/> 
> >         <result property="validadeCarteira"
> column="validadeCarteiraBeneficiario"/>
> >         <result property="numeroCNS"
> column="numeroCNSBeneficiario"/> 
> >     </resultMap>
> >
> >     <resultMap class="xml" id="get-header" 
xmlName="identificacaoGuia">
> >         <result property="dataEmissaoGuia" column="dataEmissaoGuia"/> 
> >         <result property="numeroGuiaPrestador"
> column="numeroGuiaPrestador"/>
> >         <result property="numeroGuiaOperadora"
> column="numeroGuiaOperadora"/> 
> >         <result property="registroANS" column="registroANS"/>
> >     </resultMap>
> >
> >     <resultMap class="xml" id="get-cids"> 
> >         <result property="cid" column="seq_conta"/>
> >     </resultMap>
> >
> >     <select id="getLoteGuias" parameterClass="int" 
resultMap="get-guias"> 
> >         <include refid="campos-guia-tiss"/>
> >         where             c.seq_lote = #seq_lote#
> >     </select>
> >
> >
> >     <select id=" nsGuiaConsulta.getCID" resultMap="get-cids"
> parameterClass="int">
> >         select seq_conta
> >         from   tiss_conta
> >         where  seq_lote = 943344 
> >     </select>
> > </sqlMap>
> >
> > Forget about campos-guia-tiss. Consider that it return all required
> fields.
> >
> > The error i´m receiving is: 
> >
> > org.springframework.jdbc.UncategorizedSQLException :
> SqlMapClient operation; uncategorized SQLException for SQL []; SQL state
> [null]; error code [0];
> > --- The error occurred in 
> br/com/crc/tiss/arquivo/data/ibatis/sqlMaps/GuiaDeConsulta.xml.
>
> > --- The error occurred while applying a result map.
> > --- Check the nsGuiaConsulta.get-guias.
> > --- Check the result mapping for the 'cid' property. 
> > --- Cause: com.ibatis.sqlmap.client.SqlMapException:
> There is no statement named nsGuiaConsulta.getCID in this SqlMap.; 
nested
> exception is
> com.ibatis.common.jdbc.exception.NestedSQLException :
> > --- The error occurred in
> br/com/crc/tiss/arquivo/data/ibatis/sqlMaps/GuiaDeConsulta.xml.
>
> > --- The error occurred while applying a result map.
> > --- Check the nsGuiaConsulta.get-guias .
> > --- Check the result mapping for the 'cid' property.
> > --- Cause: com.ibatis.sqlmap.client.SqlMapException:
> There is no statement named nsGuiaConsulta.getCID in this SqlMap.
> > Caused by: 
> com.ibatis.common.jdbc.exception.NestedSQLException:
> > --- The error occurred in
> br/com/crc/tiss/arquivo/data/ibatis/sqlMaps/GuiaDeConsulta.xml.
>
> > --- The error occurred while applying a result map. 
> > --- Check the nsGuiaConsulta.get-guias.
> > --- Check the result mapping for the 'cid' property.
> > --- Cause: com.ibatis.sqlmap.client.SqlMapException:
> There is no statement named nsGuiaConsulta.getCID in this SqlMap.
> >     at
> 
com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQueryWithCallback(GeneralStatement.java:188)
> >     at
> 
com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQueryForList 
(GeneralStatement.java
> :123)
> >     at
> 
com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList(SqlMapExecutorDelegate.java:615)
> >     at
> com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList 
(SqlMapExecutorDelegate.java:589)
> >     at
> 
com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.queryForList(SqlMapSessionImpl.java:118)
> >     at
> org.springframework.orm.ibatis.SqlMapClientTemplate$3.doInSqlMapClient 
(SqlMapClientTemplate.java:268)
> >     at
> 
org.springframework.orm.ibatis.SqlMapClientTemplate.execute(SqlMapClientTemplate.java:193)
> >     at
> 
org.springframework.orm.ibatis.SqlMapClientTemplate.executeWithListResult 
(SqlMapClientTemplate.java:219)
> >     at
> org.springframework.orm.ibatis.SqlMapClientTemplate.queryForList
> (SqlMapClientTemplate.java:266)
> >     at
> br.com.crc.tiss.arquivo.data.GuiaConsultaDAO.getLoteGuias 
(GuiaConsultaDAO.java:145)
> >     at
> 
test.suites.dao.GuiaDeConsultaDAOTest.testGetLoteGuias(GuiaDeConsultaDAOTest.java:60)
> >     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
> junit.framework.TestCase.runTest(TestCase.java:164)
> >     at
> junit.framework.TestCase.runBare(TestCase.java :130)
> >     at junit.framework.TestResult$1.protect
> (TestResult.java:106)
> >     at
> junit.framework.TestResult.runProtected(TestResult.java:124)
> >     at junit.framework.TestResult.run (TestResult.java:109)
> >     at junit.framework.TestCase.run(TestCase.java:120)
> >     at
> junit.framework.TestSuite.runTest(TestSuite.java:230)
> >     at junit.framework.TestSuite.run (TestSuite.java:225)
> >     at
> 
org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:130)
> >     at
> org.eclipse.jdt.internal.junit.runner.TestExecution.run 
(TestExecution.java:38)
> >     at
> 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
> >     at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests 
> (RemoteTestRunner.java:673)
> >     at
> 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner..java:386)
> >     at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main 
(RemoteTestRunner.java:196)
> > Caused by: com.ibatis.sqlmap.client.SqlMapException:
> There is no statement named nsGuiaConsulta.getCID in this SqlMap.
> >     at
> com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.getMappedStatement 
(SqlMapExecutorDelegate.java
> :293)
> >     at
> 
com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.getMappedStatement(SqlMapClientImpl.java:202)
> >     at
> 
com.ibatis.sqlmap.engine.mapping.result.BasicResultMap.getNestedSelectMappingValue 
(BasicResultMap.java
> :471)
> >     at
> 
com.ibatis.sqlmap.engine.mapping.result.BasicResultMap.getResults(BasicResultMap.java:336)
> >     at
> com.ibatis.sqlmap.engine.execution.SqlExecutor.handleResults 
(SqlExecutor.java:381)
> >     at
> com.ibatis.sqlmap.engine.execution.SqlExecutor.handleMultipleResults
> (SqlExecutor.java:301)
> >     at
> com.ibatis.sqlmap.engine.execution.SqlExecutor.executeQuery 
(SqlExecutor.java:190)
> >     at
> 
com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.sqlExecuteQuery(GeneralStatement.java
> :205)
> >     at
> 
com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQueryWithCallback 
(GeneralStatement.java:173)
> >     ... 28 more
> >
> > I have no idea what is wrong. I´ve read a post saying that using
> xmlCollection java type should solve this problem.
> >
> > Thanks Anyway
> >
> >
> >
> >
> > --
> > Visto como se não executa logo a sentença sobre a má obra, o coração 
dos
> filhos dos homens está inteiramente disposto a praticar o mal. 
> >
> >
> > --Nerd´s sign
> >
> > If you have four classes, Everybody, Somebody, Anybody, and Nobody, if
> Somebody has a bug, it could be Anybody 's fault but Nobody really 
knows, 
> while Everybody shares responsibility.
>
>
>
> --
> Visto como se não executa logo a sentença sobre a má obra, o coração dos
> filhos dos homens está inteiramente disposto a praticar o mal. 
>
>
> --Nerd´s sign
>
> If you have four classes, Everybody, Somebody, Anybody, and Nobody, if
> Somebody has a bug, it could be Anybody 's fault but Nobody really 
knows,
> while Everybody shares responsibility. 



-- 
Visto como se não executa logo a sentença sobre a má obra, o coração dos 
filhos dos homens está inteiramente disposto a praticar o mal.


--Nerd´s sign

If you have four classes, Everybody, Somebody, Anybody, and Nobody, if 
Somebody has a bug, it could be Anybody 's fault but Nobody really knows, 
while Everybody shares responsibility. 



-----------------------------------------
This communication is for informational purposes only. It is not
intended as an offer or solicitation for the purchase or sale of
any financial instrument or as an official confirmation of any
transaction. All market prices, data and other information are not
warranted as to completeness or accuracy and are subject to change
without notice. Any comments or statements made herein do not
necessarily reflect those of JPMorgan Chase & Co., its subsidiaries
and affiliates.

This transmission may contain information that is privileged,
confidential, legally privileged, and/or exempt from disclosure
under applicable law. If you are not the intended recipient, you
are hereby notified that any disclosure, copying, distribution, or
use of the information contained herein (including any reliance
thereon) is STRICTLY PROHIBITED. Although this transmission and any
attachments are believed to be free of any virus or other defect
that might affect any computer system into which it is received and
opened, it is the responsibility of the recipient to ensure that it
is virus free and no responsibility is accepted by JPMorgan Chase &
Co., its subsidiaries and affiliates, as applicable, for any loss
or damage arising in any way from its use. If you received this
transmission in error, please immediately contact the sender and
destroy the material in its entirety, whether in electronic or hard
copy format. Thank you.

Please refer to http://www.jpmorgan.com/pages/disclosures for
disclosures relating to UK legal entities.
Mime
View raw message