[英]JdbcTemplate.queryforList() returns value but map.get returns null
This is a very strange scenario I have come through and I have not been able to find out why. 这是我遇到的一个非常奇怪的情况,但我无法找出原因。
This is my code. 这是我的代码。
public CreditCard getCardByNumber(String creditCardNumber) {
CreditCard cc = new CreditCard();
String sql = "Select * from credit_card where card_number=?";
List<Map<String, Object>> rows = jdbcTemp.queryForList(sql, new Object[] { creditCardNumber });
for (Map<String, Object> row : rows) {
for (Entry<String, Object> check : row.entrySet()) {
System.out.println(check.getKey());
System.out.println(row.get(check.getKey()));
System.out.println(check.getValue());
}
}
return cc;
}
The above code prints following: 上面的代码打印如下:
card_id
null
1
customer_id
null
1
card_number
null
0699510593447478
cvv
null
231
card_date
null
07/22
card_status
null
Approved
credit_limit
null
8500
When I print the map, it prints {card_id=1, customer_id=1, card_number=0699510593447478, cvv=231, card_date=07/22, card_status=Approved, credit_limit=8500}
当我打印地图时,它会打印{card_id=1, customer_id=1, card_number=0699510593447478, cvv=231, card_date=07/22, card_status=Approved, credit_limit=8500}
I tried row.get(key)
which always returns null, I don't know why, but when I use entrySet to print the value, it gets the value. 我尝试了row.get(key)
总是返回null,我不知道为什么,但是当我使用entrySet打印值时,它会获取值。
This happened because I used different Spring JDBC version and Spring version. 发生这种情况是因为我使用了不同的Spring JDBC版本和Spring版本。 Just changed Spring JDBC to Spring version and it worked like a charm. 刚刚将Spring JDBC更改为Spring版本,它就像一个魅力。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.