Spring SimpleJdbcInsert vs JdbcTemplate

时间:2015-09-12 10:06:45

标签: spring performance spring-jdbc jdbctemplate simplejdbcinsert

我有一个要求,我必须在数据库中插入一行并获取密钥(身份)。我想到了使用SimpleJdbcInsert。我正在将JdbcTemplate的对象传递给我的SimpleJdbcInsert并执行方法executeAndReturnKey()

通过设置update()而不是参数地图,使用JdbcTemplate PreparedStatement方法可以做同样的事情。

我只是想知道JdbcTemplate在性能方面是否更好,我应该在SimpleJdbcInsert上使用它吗?如果是这样,那么它的优异表现是什么原因?

注意:我没有插入一批记录,只能插入一条记录。

由于

1 个答案:

答案 0 :(得分:7)

SimpleJdbcInsert vs JdbcTemplate

来自docs.spring.io

  

JdbcTemplate 是经典的Spring JDBC方法,也是最受欢迎的方法。这种“最低级”方法和 所有其他方法都使用了JdbcTemplate

注意:所有其他人在封面

下使用JdbcTemplate
  

SimpleJdbcInsert 优化数据库元数据以限制必要的配置量。此方法简化了编码,因此您只需提供表或过程的名称,并提供与列名匹配的参数映射。这仅在数据库提供足够的元数据时有效。如果数据库未提供此元数据,则必须提供参数的显式配置。

如果您打算使用A SimpleJdbcInsert,那么 使用JdbcTemplate 处理实际插入。所以绝对在性能方面SimpleJdbcInsert不能比JdbcTemplate更好。

因此,使用SimpleJdbcInsert无法获得性能。

但是通过使用SimpleJdbcInsert执行插入操作到 多个表肯定比JdbcTemplate类 具有更好的功能。在某些情况下,您可能希望插入数据在这些情况下,使用SimpleJdbcInsert可能是一个非常好的选择。请参阅此example以了解这一点。