简体   繁体   English

JdbcTemplate.queryforList()返回值,但map.get返回null

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

相关问题 JDBCTemplate.queryForList返回空列表 - JDBCTemplate.queryForList returns empty list 如何将jdbcTemplate.queryForList语句作为列表传递 <Map<String, Object> &gt;另一种方法 - How to pass a jdbcTemplate.queryForList statement as an List<Map<String, Object>> to another method 如何每次从 spring 启动 java sql 中的 jdbcTemplate.queryForList(sql) 中删除列名 - How to get rid of column name every time from jdbcTemplate.queryForList(sql) in spring boot in java sql jdbcTemplate.queryForList的返回类型(sql,object,classType) - Return Type for jdbcTemplate.queryForList(sql, object, classType) 如何使用 Mockito 模拟 Spring 的 JdbcTemplate.queryForList? - How to mock Spring's JdbcTemplate.queryForList using Mockito? 不同类型的SQL查询之间的清晰度1)createSQLQuery(query); 2)createQuery 3)jdbcTemplate.queryForList(query); - Clarity between different types of SQL Queries 1) createSQLQuery(query); 2) createQuery 3) jdbcTemplate.queryForList(query); 这些 SQL 查询之间的区别 1) createSQLQuery(query); 2) createQuery 3) jdbcTemplate.queryForList(query); - Difference between these SQL Queries 1) createSQLQuery(query); 2) createQuery 3) jdbcTemplate.queryForList(query); map.containsKey(key)返回true,但map.get(key)不返回任何内容 - map.containsKey(key) returns true, but map.get(key) doesn't return anything Java map.get()方法返回null - Java map.get() method returning null 为什么map.get()函数为null? - why is map.get() function null?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM