Java 使用simpleJdbcInsert替换重复的
我使用tomcat作为Mysql服务器5.5的服务器端 我使用Spring框架进行数据库连接 我希望能够使用simpleJdbcInsert将一行插入表中。如果由于重复而导致插入失败,我希望它替换重复的行 有没有一种方法可以实现SimpleJDBCcinsert,或者我应该使用jdbcTemplate并使用“on DUPLICATE”语句创建on查询Java 使用simpleJdbcInsert替换重复的,java,mysql,spring,simplejdbcinsert,Java,Mysql,Spring,Simplejdbcinsert,我使用tomcat作为Mysql服务器5.5的服务器端 我使用Spring框架进行数据库连接 我希望能够使用simpleJdbcInsert将一行插入表中。如果由于重复而导致插入失败,我希望它替换重复的行 有没有一种方法可以实现SimpleJDBCcinsert,或者我应该使用jdbcTemplate并使用“on DUPLICATE”语句创建on查询 感谢从逻辑上讲,如果有双主键,则会发生复制 因此,如果您使用的是传统的JDBC甚至Hibernate,那么在插入新的主键值之前,您应该检查是否已经
感谢从逻辑上讲,如果有双主键,则会发生复制 因此,如果您使用的是传统的JDBC甚至Hibernate,那么在插入新的主键值之前,您应该检查是否已经存在相同的主键值 但是如果主键尚未设置,或者将由DBMS设置,则会出现不同的问题
这是不正确的-因为在检查现有行和实际插入之间有一个时间间隔,因此并行线程中的某个人可以同时插入具有相同键的行,您将获得
DuplicateKeyException
(如果我们谈论spring)。因此,您必须处理此异常,或者只使用诚实的SQLinsert-into。。。按重复键…
谢谢。我使用传统的JDBC。我只是希望simplejdbcinsert可以自己检查行是否存在,如果存在,则进行替换。但这毕竟不是那么简单:)k谢谢我会手动操作我真的不知道你的确切情况,但是如果密钥不是生成的,我们没有选择自动执行。您知道Hibernate是使用两个查询还是使用INSERT。。。用重复的钥匙?