<select id="mySelect" parameterClass="MyClass"> select * from my_table where some_criteria = #someValue# </select>
I was scratching my head for the longest time trying to figure out why no results were returned, even though there were some 900 rows in the database.
Taking a closer look at that mapped statement: I specified the parameterClass attribute instead of resultClass attribute. So if the statement returns results and iBATIS doesn't know how to map those results to a class, it will just return an empty List. How helpful.
The lesson? Don't be stupid like me, and don't mix up your parameterClass and resultClass attributes.