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 Michael Glitzner <mi...@inode.at> on 2005/05/28 23:21:44 UTC

Stored procedures not working?

Hello!

I am having a problem with stored procedures in iBatis. I use the
FireBird (JayBird) JDBC driver connecting to an InterBase-Server.

My SqLMap.xml file looks the following:

<sqlMap>
	<select id="validateUser" parameterClass="ebet.User"
resultClass="java.lang.Integer">
		SELECT COUNT(*) FROM WEB_KUNDEN WHERE
username=#userName# AND passwort=#password#
	</select>

	<resultMap id="mainSportsResult" class="ebet.MainSport" >
		<result property="caption" column="HSPBEZ"/>
		<result property="code" column="HSPART"/>
		<result property="sorter" column="P_SORTKZ"/>
	</resultMap>

	<procedure id="selectMainSports" resultMap="mainSportsResult"
parameterClass="ebet.SystemConfig">
		{call WEB_HSPORTART(#language#, #company#, 0,
#betMode#)}
	</procedure>
</sqlMap>

In general iBatis is working in my application for simple queries, so
this could be no database or application problem I think. But when I try
to execute the procedure:

List
dataList=session.queryForList("selectMainSports",app.getSystemConfig());

-> I only get 1 DataSet back in the List object - but when executed
directly on the db (using the same parameters like in my application) I
get around 6 DataSets - how could this be??

Am I doing anything wrong in my SqlMap?? I really have no idea anymore
and it would be a pleasure to read any of your suggestions ... 

Thanks and greetings, Michael




Re: Stored procedures not working?

Posted by Larry Meadors <la...@gmail.com>.
Thanks for posting the answer to the problem Michael.

Larry


On 5/28/05, Michael Glitzner <mi...@inode.at> wrote:
> Hello!
> 
> I am having a problem with stored procedures in iBatis. I use the
> FireBird (JayBird) JDBC driver connecting to an InterBase-Server.
> 
> My SqLMap.xml file looks the following:
> 
> <sqlMap>
>         <select id="validateUser" parameterClass="ebet.User"
> resultClass="java.lang.Integer">
>                 SELECT COUNT(*) FROM WEB_KUNDEN WHERE
> username=#userName# AND passwort=#password#
>         </select>
> 
>         <resultMap id="mainSportsResult" class="ebet.MainSport" >
>                 <result property="caption" column="HSPBEZ"/>
>                 <result property="code" column="HSPART"/>
>                 <result property="sorter" column="P_SORTKZ"/>
>         </resultMap>
> 
>         <procedure id="selectMainSports" resultMap="mainSportsResult"
> parameterClass="ebet.SystemConfig">
>                 {call WEB_HSPORTART(#language#, #company#, 0,
> #betMode#)}
>         </procedure>
> </sqlMap>
> 
> In general iBatis is working in my application for simple queries, so
> this could be no database or application problem I think. But when I try
> to execute the procedure:
> 
> List
> dataList=session.queryForList("selectMainSports",app.getSystemConfig());
> 
> -> I only get 1 DataSet back in the List object - but when executed
> directly on the db (using the same parameters like in my application) I
> get around 6 DataSets - how could this be??
> 
> Am I doing anything wrong in my SqlMap?? I really have no idea anymore
> and it would be a pleasure to read any of your suggestions ...
> 
> Thanks and greetings, Michael
> 
> 
> 
>