dbutils 别名问题,dbutils MapHandler、MapListHandler 别名解决办法

dbutils 别名问题,dbutils MapHandler、MapListHandler 别名解决办法.

最近在赶一个项目,刚好用了apache 的 dbuils 做持久层(hibernate太笨重了) ,这个dbutisl比较轻便。在使用过程中用到了多表查询数据,返回的数据是一个map,发现了dbutisl 的一个不太合理的地方(也不能算是bug),就是多表查询返回map时MapListHandler  不能使用别名,只要是设计别名的都查询不到数据,而通过工具单独运行sql查询结果是没问题的,查看了 dbutisl 的源码发现了原因:BasicRowProcessor 类的 tomap 方法不合适得改改。见截图;

dbutils 别名问题,dbutils MapHandler、MapListHandler 别名解决办法_第1张图片

 

即:将 result.put(rsmd.getColumnName(i), rs.getObject(i));

改为:result.put(rsmd.getColumnLabel(i), rs.getObject(i));

就可以使用别名了。

同时上传了我改后的jar文件,我是在jdk1.5的环境编译的jar

 

 

 

备注:我用的dbutils 的版本是 1.4(最新)

你可能感兴趣的:(DbUtils,DbUtils,别名,别名问题,MapHandler,MapListHandler)