karthikeyan balasubramanian wrote:
I looked at iBATIS, it seems to be simple and easy to use.  I will
also check out
others and let you know my thoughts.

I'll add one to your list: Axamol SQL Library <http://www.slamb.org/projects/axamol/sql-library/>


It's a project of mine, so I'd love to hear if it works out for you. (Or if it doesn't do what you need, but could if I added feature X.)

It is similar to iBATIS SQL Maps but lighter / narrower in scope. I looked over their user manual recently, and the differences I spotted were:

- iBATIS does database pooling for you; Axamol does not. I prefer to use the servlet container's built-in pooling.

- iBATIS does caching; Axamol does not. I haven't encountered the situation in which I'd want quite the caching they have.

- iBATIS has a lot of options to use JavaBeans, which I don't find useful. I just take parameters in a java.util.Map and return a java.sql.ResultSet directly. (I'm a DynaActionForm kind of guy, so using a form bean form this would be a little out of place.)

- iBATIS has a lot of support for translating "magic" values (of the 9/9/99 variety) into nulls, which is a fundamentally bad idea. Axamol doesn't do this and never will.

- iBATIS's conditional SQL elements have this prepend="..." attribute that I find confusing. I accomplish the same thing just by using boolean identities: "true and boolvar" = "false or boolvar" = "boolvar". Compare the example on iBATIS SQL Map's developer guide page 35 to my example two at <http://www.slamb.org/projects/axamol/sql-library/manual/pr01s02.html> and you'll see what I'm getting at.

- Axamol includes XSLT and standardized elements for embedding documentation in your libraries and producing HTML for them.

- Axamol captures timing statistics which are useful for determining where you need to optimize your SQL.

Good luck, whatever you end up using.

Regards,
Scott

--
Scott Lamb <http://www.slamb.org/>

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to