如何使用jdbctemplate在数据库中保存或更新多个值

时间:2016-05-04 09:13:43

标签: mysql spring hibernate

我要插入多条记录。但是这些记录可能包含重复值,或者数据库可能与这些记录具有相同的值。我的问题是如何检查当前插入是否重复。有没有办法在hibernate中插入saveorupdate时更新现有数据?我正在使用spring的JdbcTemplate。

例如

要插入的记录:

Name  Phone
A     111
B     222
A     333

表:

ID(auto)  Name  Phone(unique)
1          C     111          //here update
2          D     888
3  //here insert new data

2 个答案:

答案 0 :(得分:0)

如果要一起更新多个表,过程可能有所帮助。 此外,要更新多行,最好一次更新一行,即使用一些语句来查找是否存在以及后续触发查询。 要查找仅对其唯一ID进行搜索查询,如果value不为null,请继续执行update usage refernece

答案 1 :(得分:0)

也许你可以尝试一下。

public void insert(ModelName modelName){
        //condition to check if Phone is an existent row

        String sql = "INSERT INTO modelName" +
            "(ID, NAME) VALUES (?, ?)";

        jdbcTemplate = new JdbcTemplate(dataSource);

        jdbcTemplate.update(sql, new Object[] { modelName.getId(),
            modelName.getName() 
        });

}