Hi Seth,

thanks for the quick answer!

Yes, it works this way, but it would be much better if I could get rid of passing the dbOwner parameter and specify it just once in a config file, because it's static and I need it for every single query.

The need of the extra parameter makes using objects of the returning type as query parameters (by setting their properties corresponding to the primary key), which is very handy, hardly possible.

Regards,
Ilya

Seth Helstrip wrote:
Hey Ilya,
You can insert dynamic portions into your sql with
iBatis using the $ syntax.  To take your example,
below you'd use something like...


<sqlMap namespace="Students">
    <select id="isStudent"
 resultClass="java.lang.Integer"
parameterClass="String">
        SELECT count(*)  FROM $dbOwner$.students
 WHERE id = #value#
 </select>  </sqlMap>

And then supply the String parameter as an object to
the query from your Java sqlMap.  E.g.

Boolean isTrue = (Boolean) queryForObject("isStudent",
myParameterString);

Hope this helps.
Seth

--- Ilya Boyandin <[EMAIL PROTECTED]>
wrote:

I would like to use static parameters that I can set
in a config file directly in SQL queries. I need it especially for the MS SQL database owner that I want neither to hard code in SQL nor to pass as a parameter from Java code each time I execute queiries. I tried to define a "dbOwner" setting in properties.config, but it didn't work with the following code:

<sqlMap namespace="Students">
   <select id="isStudent"
resultClass="java.lang.Integer">
       SELECT count(*)  FROM ${dbOwner}.students
WHERE id = #value#
   </select>  </sqlMap>

Is it possible in any other way with iBatis?


Reply via email to