С无法从NamedParameterJdbcTemplate中获取Float数据类型

问题描述 投票:0回答:1

我只需要获取一个Float数据类型值。在PostgreSQL数据库中,此字段的类型为real。我将不胜感激)

`public Float getPlayerRatingValue(Integer idClub, Integer idPlayer) {
        MapSqlParameterSource parameters = new MapSqlParameterSource();
        parameters.addValue("idClub", idClub);
        parameters.addValue("idPlayer", idPlayer);
        parameters.addValue("zeroRating", ZERO_RATING);
        return namedParameterJdbcTemplate
                .queryForObject(
                        "SELECT rating_value " +
                                "FROM rating " +
                                "WHERE id_club = :idClub AND id_player = :idPlayer",
                        parameters,
                        new BeanPropertyRowMapper<>(Float.class)
                );`
java spring-jdbc
1个回答
0
投票

NamedParameterJdbcTemplate对于单行/列查询具有特殊的method

因此您可以仅将Float.class作为第三个参数:

return namedParameterJdbcTemplate
        .queryForObject(
                "SELECT rating_value " +
                        "FROM rating " +
                        "WHERE id_club = :idClub AND id_player = :idPlayer",
                parameters,
                Float.class
        );

另一个快速示例:

MapSqlParameterSource parameterSource = new MapSqlParameterSource();
Float f = jdbcTemplate.queryForObject("SELECT CAST(1 AS REAL)", parameterSource, Float.class);
System.out.println(f);
© www.soinside.com 2019 - 2024. All rights reserved.