jdbc返回空列表,但sql查询成功获取数据[spring]

hsvhsicv  于 2021-06-21  发布在  Mysql
关注(0)|答案(0)|浏览(263)

我正在尝试执行此查询:

@Override
public UserInfo get(Long id) {
    String sql = "SELECT * FROM users WHERE id = ? ";
    List<UserInfo> list = jdbcTemplate.query(sql,new UserInfoMapper(),id);
    return list.get(0);
}

但jdbc返回空列表,我在返回行得到异常。但是,如果试图通过控制台直接执行,它返回:query,answer
执行id为1的查询并返回正确的anwser;但在它的方法中
我找不到任何相同的问题,所以这可能是我没有注意到什么。但我看不出有什么问题会导致这种情况。提前感谢;
更新1,将代码更改为

@Override
public UserInfo get(Long id) {
    String sql = "SELECT * FROM users WHERE id = ? ";
    List<UserInfo> list = jdbcTemplate.query(sql, new Object[] {id},new UserInfoMapper());
    return list.get(0);
}

结果相同:结果更新2

@Override
public UserInfo mapRow(ResultSet resultSet, int i) throws SQLException {
    UserInfo info = new UserInfo();
    info.setId(resultSet.getLong("id"));
    info.setFirstname(resultSet.getString("firstname"));
    info.setMiddlename(resultSet.getString("middlename"));
    info.setLastname(resultSet.getString("lastname"));
    info.setUsername(resultSet.getString("username"));
    info.setPassword(resultSet.getString("password"));
    info.setEmail(resultSet.getString("email"));
    info.setMobilephone(resultSet.getString("mobilephone"));
    info.setPosition(resultSet.getString("position"));
    return info;
}
public class UserInfo {
    private Long id;
    private String firstname;
    private String middlename;
    private String lastname;
    private String username;
    private String password;
    private String email;
    private String mobilephone;
    private String position;

    public UserInfo() {
    }
}

每个领域的得分手和二传手都在,但我认为没有必要把他们表现出来。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题