Spring SimpleJDBCcinsert与JdbcTemplate
我需要在数据库中插入一行并取回密钥(标识)。我想到了使用SimpleJdbcInsert来实现这一点。我正在将Spring SimpleJDBCcinsert与JdbcTemplate,spring,performance,spring-jdbc,jdbctemplate,simplejdbcinsert,Spring,Performance,Spring Jdbc,Jdbctemplate,Simplejdbcinsert,我需要在数据库中插入一行并取回密钥(标识)。我想到了使用SimpleJdbcInsert来实现这一点。我正在将JdbcTemplate的对象传递给我的SimpleJdbcInsert并执行方法executeAndReturnKey() 通过设置PreparedStatement而不是参数映射,可以使用JdbcTemplate的update()方法实现同样的操作 我只是想知道JdbcTemplate在性能方面是否更好,我是否应该使用它而不是SimpleJdbcInsert?如果是这样的话,那么它表
JdbcTemplate
的对象传递给我的SimpleJdbcInsert
并执行方法executeAndReturnKey()
通过设置PreparedStatement
而不是参数映射,可以使用JdbcTemplate
的update()
方法实现同样的操作
我只是想知道JdbcTemplate在性能方面是否更好,我是否应该使用它而不是SimpleJdbcInsert?如果是这样的话,那么它表现优异的原因是什么
注意:我插入的不是一批记录,而是一条记录
谢谢SimpleJDBCcinsert vs JdbcTemplate
从
JdbcTemplate是经典的Spring JDBC方法,也是最流行的方法。这种“最低级别”方法和所有其他方法都在封面下使用JdbcTemplate
注意:所有其他人都在封面下使用JDBC模板
SimpleJdbcInsert优化数据库元数据以限制必要配置的数量。这种方法简化了编码,因此您只需要提供表或过程的名称,并提供与列名匹配的参数映射。这只有在数据库提供足够的元数据时才有效。如果数据库不提供此元数据,则必须提供参数的显式配置
如果要使用SimpleJdbcInsert,那么实际插入也将使用JdbcTemplate处理。因此,就性能而言,SimpleJdbcInsert绝对不能比JdbcTemplate更好
因此,在性能方面,使用SimpleJdbcInsert对您并没有好处
但是,使用SimpleJdbcInsert在多个表中执行插入操作肯定比JdbcTemplate类具有更好的功能。在某些情况下,您可能希望在许多表中插入数据,并且希望减少编码。在这些情况下,使用SimpleJdbcInsert可能是一个非常好的选择。请参见此了解这一点。为什么要投否决票?我认为这个问题问得有道理。