查询以检查Spring Jdbc模板中是否存在该记录

时间:2018-01-31 16:09:52

标签: spring jdbctemplate

我是春天的新手,我想检查数据库中是否存在某个电子邮件ID,或者使用Spring Jdbc模板,我看了一下但是找不到合适的答案。我看起来像是, SELECT count(*) from table where email=?

任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:3)

如果您使用的是jdbctemplate新版本的spring

,则可以执行以下操作
private boolean isEmailIdExists(String email) {
    String sql = "SELECT count(*) FROM table WHERE email = ?";
    boolean result = false;
    int count = jdbcTemplate.queryForObject(sql, new Object[] { email }, Integer.class);
    if (count > 0) {
      result = true;
    }
    return result;
}
queryForObject的{​​{1}}方法接受sql查询作为第一个参数,第二个参数是sql查询占位符的对象数组,第三个参数是sql查询的预期返回值

在这种情况下,我们只有一个占位符,因此我将第二个参数作为jdbcTemplate,我们期望的结果是一个整数的计数,因此我将其作为new Object[] { email } < / p>

我从https://www.mkyong.com/spring/jdbctemplate-queryforint-is-deprecated/

得到了这个答案

如果您有兴趣,可以通过它。

答案 1 :(得分:0)

private boolean isEmailIdExists(String email) {

    return jdbcTemplate.queryForObject("SELECT EXISTS(SELECT FROM table WHERE email = ?)", Boolean.class, email);
}

http://www.postgresqltutorial.com/postgresql-exists/