Spring jdbc模板中的BadSqlGrammarException

时间:2018-08-19 14:51:46

标签: java sql spring postgresql jdbc

我正在使用Jdbctemplate从db中检索单个记录。这是方法。

public Advocate queryPrimaryDetails(String regCaseType, String regNo, String regYear) throws SQLException {
        String sql = "select pet_adv,pet_adv_cd from civil_t where regcase_type=? and reg_no=? and reg_year=?";
        Advocate list = (Advocate) getJdbcTemplate().queryForObject(sql, new Object[]{Integer.valueOf(regCaseType),Integer.valueOf(regNo),Integer.valueOf(regYear)},new RowMapper<Object>() {
            public Object mapRow(ResultSet resultSet, int rowNum) throws SQLException {
                return resultSet.next() ? new Advocate(resultSet.getInt("pet_adv_cd"), resultSet.getString("pet_adv"))
                        : null;
            }
        });
        System.out.println(list);
        return list;
    }

在我的情况下,完全有可能在查询中没有命中,因此我的问题是如何解决以下错误消息。

HTTP状态500-请求处理失败;嵌套的异常是org.springframework.jdbc.BadSqlGrammarException:PreparedStatementCallback;错误的SQL语法[从civil_t中选择pet_adv,pet_adv_cd,其中regcase_type =?];嵌套的异常是org.postgresql.util.PSQLException:错误:关系“ civil_t”不存在

1 个答案:

答案 0 :(得分:0)

底层Postgresql JDBC驱动程序引发了异常,因为在要连接的数据库中找不到表 civil_t