java - 用 simpleJdbcInsert 替换重复项

标签 java mysql spring simplejdbcinsert

我在服务器端使用 tomcat 和 Mysql Server 5.5。

我使用 Spring 框架进行数据库连接。

我希望能够使用 simpleJdbcInsert 向表中插入一行。如果插入由于重复而失败,我希望它替换重复的行。

有没有办法做到这一点 simpleJdbcInsert 还是我应该只使用 jdbcTemplate 并使用“ON DUPLICATE”语句创建我的 on 查询?

谢谢

最佳答案

从逻辑上讲,当存在双主键时就会发生重复。

因此,如果您使用的是传统的 JDBC 甚至 Hibernate,那么在插入新主键值之前,您应该检查是否已经存在相同的主键值。

但是如果主键还没有设置,或者将由DBMS设置,就会有不同的问题。

  1. 在 JDBC 中,同样需要在插入新的之前通过查询进行旧式手动检查,但是

  2. 在 Hibernate 中,您只需要更新它。如果没有重复,Hibernate 将创建新的,但如果有重复,则将替换。

关于java - 用 simpleJdbcInsert 替换重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9583097/

相关文章:

php - 如何将 DBF 文件引入 XAMPP 工作区

mysql - (服务器端)准备语句对 MySQL 5.5+ 查询计划的影响

java - 需要解决 Tomcat 在记录器被处理后尝试记录事件的 webapp 错误

java - @RequestBody 不适用于 Rest 服务

Java,嵌套类 : how to access 'higher' level variable?

java - 当屏幕旋转时,Android Activity 是如何重新创建的?

java - 如何在android studio的导航 View 中更改汉堡包图标的颜色

java - 如何删除外键关系中的所有子项

mysql - 在 MySQL 查询中使用第二个 ORDER by

java - 如何将@RequestParam 绑定(bind)到spring MVC 中的对象?