关于 mysql 别名问题

     最近在使用appache dbutils 通过mysql jdbc连接数据库时出现别名识别错误,错误问题描述描述如下:
例如sql  :select user_no userno from user;
通过dbutils 获取到Map 中则此时 map中的key值为 user_no 并非 userno  然而在 oracle数据库可以正确获得 key 值为user_no

通过问题跟踪:
jdbc 连接mysql时
                        ResultSetMetaData  ret = rs.getMetaData();
String a1 = ret.getColumnLabel(1);
String a2 = ret.getColumnName(1);
a1值为userno;
a2值为user_no;

jdbc 连接oracle时
                        ResultSetMetaData  ret = rs.getMetaData();
String a1 = ret.getColumnLabel(1);
String a2 = ret.getColumnName(1);
a1值为userno;
a2值为userno;

dbutils 中方法在组织 Map对象 key时 使用的getColumnName 方法,就会显现上述错误;

推测可能与mysql jdbc 版本有关;
建议解决办法修改dbutils中getColumnName 为getColumnLabel来组织对象;

如果条件允许时,建议直接使用 jdbc 操作也是比较方便,尽管dbutil 比较好用,在组织T 对象时还是效率比较低的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值