bigint 的 NumberFormatting 异常

NumberFormatting exception for bigint

我将数据库用作 postgresql,使用 spring jdbctemplate 连接到数据库。

数据库中的 phone 列是 phone bigint spring 正在抛出 java.lang.NumberFormatException

            public UserDetails getUserDetails(int phone) {
    
            String sql = "SELECT * FROM users where phone = ?";
            UserDetails users = (UserDetails) jdbcTemplate.query(sql,new Object[]{phone},
                    new BeanPropertyRowMapper<UserDetails>(UserDetails.class));
            return users;
            }

**Error:-**

> For input string: "7894561230"; nested exception is
> java.lang.NumberFormatException: For input string: "7894561230"

我的 Bean 是 :-

    public class UserDetails {
        
        private int userId;
        private String name;
        private String email;
        private String phone;
    }

您的问题出在 int

在 Java 中 int 可以容纳从 -21474836482147483647 的任何整数,而您的值 7894561230 超出了它的范围。所以用 long 代替 int.