【发布时间】:2019-04-30 07:19:17
【问题描述】:
我有一个带有主键的表,它由几列组成。有带有特殊 Oracle 钩子的批量插入 - ignore_row_on_dupkey_index。该钩子允许忽略唯一约束异常,重复记录被忽略,而非重复记录被成功插入。使用简单的 jdbc,我可以轻松地通过代码返回主键(由几列组成):
try(PreparedStatement st = connectio.preparedStatement("insert /* ignore_row_on_dupkey(Table_name, Constraint) */ into TABLE(c1, c2, c3) values(?,?,?)", new String [] {"c1", "c2"})) {
//Batch insert then get generated keys
}
然后我可以通过迭代返回的键来分析重复项。
我想通过 MyBatis 来实现这一点。我找到了 Options 注释,它允许通过设置属性 useGeneratedKeys 和 keyColumn 来实现。问题是我有复杂的主键,而 keyColumn 有字符串类型。 我也不想使用 SelectKey 注释。
所以我的问题是我可以通过 MyBatis 返回几列值吗?
谢谢。
【问题讨论】: