[英]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.