[英]How to get a column by alias/label from Java's ResultSet?
假设我有一个SP, SELECT a as b FROM example_table
在最后SELECT a as b FROM example_table
中SELECT a as b FROM example_table
。
当我做
// Some magical code goes here
ResultSet rs = callableStatement.executeQuery();
while(rs.next()) {
System.out.printLn(rs.getString("b"));
}
// Some magical code goes here
我收到一条错误消息,通知我该列不存在,但是当我更改rs.getString("a")
代码时,它将正确执行。 这似乎是因为getString(String)
通过其名称而不是通过其别名/标签来获取列。
如何告诉ResultSet通过标签/别名(而不是名称)来获取列。
我不知道它是否相关,但是在MySQL中,您可以通过在连接字符串的末尾添加?useOldAliasMetadataBehavior=true
来避免类似的问题。 检查此链接以获取详细信息
相同情况的官方解释链接 :此处表示直到5.0.x版本,默认值都设置为true
而在5.1版本之后,默认值设置为false
。 您还可以在此处检查配置字符串的其他参数
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.