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.
Thanks, Anurag --- On Mon, 1/5/09, Jeff Butler <[email protected]> wrote: From: Jeff Butler <[email protected]> Subject: Re: Dynamic Query and Prepared Statement Caching To: [email protected], [email protected] 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 <[email protected]> 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 ored. > > 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 > > > > >
