ibatis-user-java mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Fábio Pisaruk" <pisa...@gmail.com>
Subject Re: Get return value and return result set
Date Tue, 28 Aug 2007 20:12:38 GMT
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.
Mime
View raw message