我有一个要求,我必须在数据库中插入一行并取回 key (身份)。我想为此使用 SimpleJdbcInsert 。我将 JdbcTemplate
的对象传递给我的 SimpleJdbcInsert
并执行方法 executeAndReturnKey()
。
通过设置 update()
而不是参数映射,可以使用 JdbcTemplate
的 PreparedStatement
方法完成相同的操作。
我只想知道 JdbcTemplate 在性能方面是否更好,我应该在 SimpleJdbcInsert 上使用它吗?如果是这样,那么它卓越性能的原因是什么?
注意:我不是插入一批记录,而是只插入一条记录。
谢谢
最佳答案
SimpleJdbcInsert 与 JdbcTemplate
来自 docs.spring.io
注意 :所有其他人都在幕后使用 JdbcTemplate
如果您打算使用 A SimpleJdbcInsert,那么 实际插入也是使用 JdbcTemplate 处理的。所以绝对在性能方面 SimpleJdbcInsert 不能比 JdbcTemplate 更好。
因此,在性能方面,使用 SimpleJdbcInsert 不会有好处。
但是,使用 SimpleJdbcInsert 对 多个表执行插入操作肯定比 JdbcTemplate 类 具有更好的能力。可能在某些情况下,您想在很多表中插入数据,并且您可能希望减少编码。在这些情况下, 使用 SimpleJdbcInsert 可能是一个很好的选择。请参阅此 example 以了解这一点。