简体   繁体   English

Jdbc 返回空列表但 SQL 查询成功获取数据 [Spring]

[英]Jdbc returns empty list but SQL query succesfully gets data [Spring]

I am trying to execute this query:我正在尝试执行此查询:

@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);
}

but jdbc return empty list and I get exception at return line.但是 jdbc 返回空列表,并且在返回行出现异常。 But if try to execute directly though the console it returns: Query, Answer但是如果尝试直接通过控制台执行,它会返回: Query, Answer

Query was executed with id 1 and retured correct anwser;使用 id 1 执行查询并返回正确的 anwser; But in method its returned this但是在方法中它返回了这个

I couldn't find any same questions so that may be point at my inattention to something.我找不到任何相同的问题,所以这可能是我对某些事情的疏忽。 But I can't see any problem that may cause this.但我看不到任何可能导致这种情况的问题。 Thanks in advance;提前致谢;

Updated 1 Changing code to更新 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);
}

resulted in same: result Updated 2结果相同:结果更新 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() {
    }
}

Getter and setters for each field is there but I think there is no need to show them up.每个字段的 getter 和 setter 都在那里,但我认为没有必要显示它们。

Check user credentials that you are using to connect database from your application and the user credentials in console.检查您用于从应用程序连接数据库的用户凭据和控制台中的用户凭据。 And also check owner schema , table owner schema in your application.并检查您的应用程序中的所有者架构、表所有者架构。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 简单的JDBC SQL查询返回空的ResultSet - Simple JDBC SQL Query returns an empty ResultSet 保存与 spring-data-jdbc 具有一对多关系的实体返回空列表 - Saving entity with one-to-many relations with spring-data-jdbc returns empty list 从SQL Server成功检索数据后,JTable为空 - JTable is empty after succesfully retrieving data from SQL Server SQL查询返回数据,但ResultSet为空 - SQL query returns data but ResultSet is empty spring jdbc模板返回空结果 - spring jdbc template returns an empty result 当使用JDBC连接到数据库时,Rest API忽略数据库中带来的数据时返回一个空列表 - Rest API returns an empty list when connecting to database using JDBC ignoring the data brought from the database Spring Data返回空实体 - Spring Data returns empty entity Spring JDBC ResultSetMetaData“ getColumnName()”方法返回一个空字符串 - Spring JDBC ResultSetMetaData “getColumnName()” method returns an empty string SQL Server-查询返回数据,但使用相同查询的ResultSet返回空 - SQL Server - a query returns data but ResultSet using same query returns empty 本机查询问题 spring 数据 JPA 返回带有空对象的空 JSON 数组 - Problems with native query spring data JPA returns empty JSON array with empty objects
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM