发布网友
共4个回答
热心网友
据我所知没有专门的捕获主键的异常
你可以
try{
}catch(exception
ex){
ex.printstacktrace();
}
捕获异常之后,会在控制台打印你所捕获异常的信息。如果你只想捕获主键异常的话,可以把打印出来的主键异常名称来替换exception.
其实效果是一样的。。。
热心网友
主键重复的话,常见使用方法:
方法一:建议可以用uuid形式(此形式生成的32位字符串永远不会重复)。
import java.util.UUID;
public class Test {
public static void main(String[] args) {
UUID uuid = UUID.randomUUID();
System.out.println (uuid);
}
方法二:将主键中添加与时间相关内容。因为时间用永远不会重复。
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
String str = sdf.format(date1);
System.out.println(str);
热心网友
主键重复的异常应该很容易看出来,具体怎么说的忘了 反正类似:a plicate key value in a unique or primary key 这个。
你把oracle报的错误代码 放上百度一查就知道是什么原因出错了。
热心网友
你只是为了判断主键重复吗?批量插入这种开启事务的操作,出错时就应该回滚的。你要继续插入,那这个批次的数据就不完整了吧。难道你是想在批次插入完成后再对重复主键的纪录进行处理???
那样的话你还不如在插入数据前,查询纪录是否存在,不存在时插入,存在时你可以进行忽略这条记录或主键修改后再插入等操作。依靠判断异常的情况不可取
希望能对你有所帮助