Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/380.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Java/MyBATIS中插入重复行时检测_Java_Sql_Ibatis - Fatal编程技术网

在Java/MyBATIS中插入重复行时检测

在Java/MyBATIS中插入重复行时检测,java,sql,ibatis,Java,Sql,Ibatis,我目前正在我的项目中使用MyBATIS 有时,我需要运行INSERT查询,但如果我试图插入的行已经存在于数据库中,则忽略它,而是处理其他SQL错误 如何发现SQLException与主键冲突相关 差不多 try { sqlMap.insert(query, params); } catch (DuplicateKeyException ex) { //Do nothing, it's OK for mew } catch (SQLException ex) { throw

我目前正在我的项目中使用MyBATIS

有时,我需要运行INSERT查询,但如果我试图插入的行已经存在于数据库中,则忽略它,而是处理其他SQL错误

如何发现SQLException与主键冲突相关

差不多

try {
    sqlMap.insert(query, params);
} catch (DuplicateKeyException ex) {
    //Do nothing, it's OK for mew
} catch (SQLException ex) {
    throw ex;
}

我想特定的异常实际上并不存在…

SQL不是我的强项,但您可以查看将抛出的SQLException中包含的错误代码和SQL状态代码。这些可以让我们更深入地了解查询失败的原因。

下面的页面将在Oracle的DB2上下文中解释这两者。我想我不知道它们是否标准化(我怀疑部分或根本不标准)。但如果您暂时不打算更改DBs,这可能会起作用。。。