The greatest thing since sliced bread
If you have ever had to write an application in an object oriented language that communicates with a relational database, then you understand the word tedium down to its very core. There is nothing more mind-numbing than writing lots of 'for' and 'while' loops to populate an object from a result set. It is a trivial exercise that takes lots of time and is prone to errors. When I first started writing web applications it took me less than a few hours of using the JDBC api to realize that populating an object from the DB was a job for a peon, not a mighty software engineer. Thus I was quite motivated as I jumped on Google in search of a solution. The coding gods were smiling on me that day because I quickly stumbled upon iBATIS SQL Maps. It took me an afternoon to get comfortable with
their api, and soon I was writing all my sql into XML files. Here is what I am talking about.