【问题标题】:Do I have to check row count after insert?插入后是否必须检查行数?
【发布时间】:2022-12-20 17:04:26
【问题描述】:

我看到了如下代码。

public void insertSomething( SomeObj some ) {
  // insert 1 row
  int result = someMapper.insertSomething( some );

  if( result != 1 ) {
    throw new SomeException( "insertion failed" );  
  }
}

我很好奇if( result != 1 ) { ... }

如果数据库无法插入某些内容,是否会引发数据库异常?

我是否必须删除此代码?

【问题讨论】:

    标签: java mybatis


    【解决方案1】:

    大多数时候 - 这取决于实施。许多 ORM 在某种状态下完成 - 插入返回 boolean 值 - 无论是否插入信息。所以,基本上,您的示例 result != 1 会准确检查数据是否已插入数据库。

    【讨论】:

      【解决方案2】:

      对于单行 INSERT 结果是不必要的。如果 INSERT 失败,数据库将抛出异常。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-10-12
        • 1970-01-01
        • 1970-01-01
        • 2017-04-27
        相关资源
        最近更新 更多