ibatis-user-java mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Anurag Sethi <asethi...@yahoo.com>
Subject Re: Dynamic Query and Prepared Statement Caching
Date Mon, 05 Jan 2009 16:25:22 GMT
Thanks. One thing I noticed though, that for both the cases, even when I have cachestatementenabled
set to true in the sqlMapConfig, the log still comes out with the info  that the statement
is being prepared before its executed.


--- On Mon, 1/5/09, Jeff Butler <jeffgbutler@gmail.com> wrote:
From: Jeff Butler <jeffgbutler@gmail.com>
Subject: Re: Dynamic Query and Prepared Statement Caching
To: user-java@ibatis.apache.org, asethi_im@yahoo.com
Date: Monday, January 5, 2009, 3:46 PM

iBATIS does cache prepared statements.  The cache is based on the SQL
string that is created after the dynamic query is resolved.  So if you
have 300 different combinations of criteria, then you will have 300
cached prepared statements.

Jeff Butler

On Sun, Jan 4, 2009 at 9:01 PM, Anurag Sethi <asethi_im@yahoo.com> wrote:
> Hi,
> I am using the Abator generated queryByExample sql/DAO classes. I am
specifically using the Criteria class in there and have a bunch of criteria ored
in the example that I send as the parameter.
> So in general, I have the actual query with different number of criteria
> Does Ibatis cache the resulting Prepared statements too? If not, what is
the best way to make sure that the statements are not prepared every time the
queryByExample interface is called. Its a big performance hit.
> I have also tried generating an sql map programatically as part of the
bootstrap sequence and actually put in around 300 different static queries in
there and call the one based on the number of criteria I would have had to or
using the queryByExample dynamic query. This should at-least lead to caching of
the prepared statements. Please correct me if I am wrong.
> Thanks,
> Anurag

View raw message