【问题标题】:Can I execute a plain SQL statement with the Spring JDBC template?我可以使用 Spring JDBC 模板执行简单的 SQL 语句吗?
【发布时间】:2023-03-27 20:29:01
【问题描述】:

我正在攻读Spring Core认证,对JdbcTemplate的使用有些疑惑。在学习资料中我发现了这个问题:

我可以使用 JDBC 模板执行普通 SQL 语句吗?

究竟什么是普通 SQL 语句?它是标准的 SQL 查询吗?还是什么?

如果是标准 SQL 查询(不是 JPQL 之类的),我认为答案是肯定的,因为我可以做类似的事情:

public Date getOldest() {
    String sql = “select max(dob) from PERSON”;
    return jdbcTemplate.queryForObject(sql, Date.class);
}

public long getPersonCount() {
    String sql = “select count(*) from PERSON”;
    return jdbcTemplate.queryForObject(sql, Long.class);
}

但我绝对不确定是否理解问题的含义以及普通 SQL 语句的确切含义。

你怎么看?

【问题讨论】:

  • 我认为你是对的。与在使用 JPQL 的 Spring Data JPA 中实现的 JPA 不同,JdbcTemplate 用于执行标准 SQL 查询。

标签: java spring jdbc jdbctemplate


【解决方案1】:

在我看来:

  • 非纯 sql 是 jql 中的查询。
  • 在已经存在的数据方案中,使用 jql(即连接几个表)实现某些内容相当复杂。
  • jpa 请求表中的主键 - 在现有数据库中并非总是如此
  • 这个问题的目的是“我想回归传统的查询来完成我的日常生活”

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-08-24
    • 2014-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多