I am finding that my DAOs that use the BeanHandler are ending up with a lot of code like this:
String queryName = "select column1 as beanProp1, column2 as beanProp2, column3 as beanProp3...." This gets to be very redundant and clunky for large rows, and it happens because DbUtils assumes that the column name selected from your query will be an exact match for the exposed property of your JavaBean. What I would like to do is define a Map once in my DAO: Map columnMap = new HashMap(); columnMap.add( "column1", "beanProp1" ); columnMap.add( "column2", "beanProp2" ); ... and then I would like a way to tell DbUtils to override the default name mappings of columns to properties by using the map I supply. I have two proposals for how I can accomplish this: 1) I can create an additional constructor for BasicRowProcessor that takes a nameMap as input. Then I would change the mapColumnsToProperties() method to check for the existence of such a map when performing the name mapping. 2) Looking at proposal 1, it occurs to me that mapColumnsToProperties is really more of a ColumnProcessor thing than a RowProcessor thing. I could refactor so that the BasicRowProcessor delegates to its ColumnProcessor to provide the mapColumnsToProperties functionality. Now, the nameMap would be passed into the BasicColumnProcessor class. Also, I would have to change the method signature for the ColumnProcessor interface so that the process method takes a colunm name rather than an index number for its second argument. If folks are agreeable to either of these two proposals, I am willing to submit patch and testcase. Thanks, Corby --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]