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]