If you are only needing to set the schema, then you could set a default
schema on the JDBC connection URL and then avoid the use of schemas
completely within your SQL.

Jeff Butler


On 3/30/07, Ilya Boyandin <[EMAIL PROTECTED]> wrote:

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