mysql 别名

来源:互联网 发布:焓湿图计算软件百度云 编辑:程序博客网 时间:2024/05/01 17:56

 mysql 别名 mysql的 java.sql.ResultSetMetaData 实现类是 com.mysql.jdbc.ResultSetMetaData 在com.mysql.jdbc.ResultSetMetaData中的 public String getColumnLabel(int column) throws SQLException { return getField(column).getColumnLabel(); } public String getColumnName(int column) throws SQLException { return getField(column).getNameNoAliases(); } getColumnLabel方法是获得别名 getColumnName是获得列明不是别名 最近在公司改一个系统的数据库底层把sql2000改成mysql 在sql2000中getColumnName是返回别名然后我在代码中mysql版本中照搬过来,出现了莫名其妙的错,如我运行的是查找 select * from viewDepartment (viewDepartment是张视图)的结果集,在mysql数据库中查询是正常的,但是在代码中出来的结果就完全不同了,开始我还奇怪怎么会结果不同了呢,难道是mysql数据库出什么问题了, 后来才知道,在视图中列名有两个S_DEPARTMENT_NAME,mysql用getColumnName查询不到别名了,就一直返回两个S_DEPARTMENT_NAME的值,搞到结果莫名其妙了。其实这个不是mysql的JDBC连接包错,只是sql2000的JDBC连接包把两个方法没严格分开罢了. 而我们平时用ResultSet的时候习惯性地直接用getString("别名"),所以给我们种错觉就是别名就是直接替换了列名。

原创粉丝点击