jdbcTemplate更新中的Spring瞬态数据访问资源异常

时间:2015-06-27 09:02:14

标签: sql spring jdbc

我有一种方法来检测列的重复条目:

(我正确注入jdbcTemplate

private boolean isDuplicate(String username) {

    String sql = " select username from users where username=?";
    int result = jdbcTemplate.update(sql, new Object[]{username}, String.class);

    return result;
}

但是我在运行时遇到了这个异常:

org.springframework.dao.TransientDataAccessResourceException: 

PreparedStatementCallback; SQL [ select username from users where username=?]; Invalid argument value: java.lang.ArrayIndexOutOfBoundsException; 

nested exception is java.sql.SQLException: Invalid argument value: java.lang.ArrayIndexOutOfBoundsException

1 个答案:

答案 0 :(得分:0)

您可以使用queryForList()这样的jdbcTemplate方法:

results = jdbcTemplate.queryForList(sql,new Object[]{username},String.class);

if(results.isEmpty(){
  //no duplicate
}

else{
  //duplicate
}

其中resultsList<String>