我在服务器端使用 tomcat 和 Mysql Server 5.5。
我使用 Spring 框架进行数据库连接。
我希望能够使用 simpleJdbcInsert 向表中插入一行。如果插入由于重复而失败,我希望它替换重复的行。
有没有办法做到这一点 simpleJdbcInsert 还是我应该只使用 jdbcTemplate 并使用“ON DUPLICATE”语句创建我的 on 查询?
谢谢
最佳答案
从逻辑上讲,当存在双主键时就会发生重复。
因此,如果您使用的是传统的 JDBC 甚至 Hibernate,那么在插入新主键值之前,您应该检查是否已经存在相同的主键值。
但是如果主键还没有设置,或者将由DBMS设置,就会有不同的问题。
在 JDBC 中,同样需要在插入新的之前通过查询进行旧式手动检查,但是
在 Hibernate 中,您只需要更新它。如果没有重复,Hibernate 将创建新的,但如果有重复,则将替换。
关于java - 用 simpleJdbcInsert 替换重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9583097/