2 pu364i pu364i 于 2013.06.20 15:30 提问

ibatis 插入oracle数据问题

getSqlMapClientTemplate().insert("....","....");
我用的是这个方法,当插入的属性违反了oracle唯一性约束后,
06:18:33,610 INFO XmlBeanDefinitionReader:323 - Loading XML bean definitions from class path resource [org/springframework/jdbc/support/sql-error-codes.xml]
06:18:33,687 INFO SQLErrorCodesFactory:128 - SQLErrorCodes loaded: [DB2, Derby, H2, HSQL, Informix, MS-SQL, MySQL, Oracle, PostgreSQL, Sybase]
报错了,但是程序再也不动了 怎么回事儿,插入正常值没问题
我需要能抛出异常而且可以继续其他操作

1个回答

qianeraben
qianeraben   2013.06.20 21:12
已采纳

违反了oracle唯一性约束,那就是主键冲突了,那你插入的值肯定有问题,你再仔细检查下

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
Ibatis中插入时间出错的问题
Ibatis中插入时间出错的问题出现的问题最近公司的项目用到了Ibatis,在操作时间的时候吗,datetime类型的数据插入的时候总是有问题,在公司的测试数据库服务器上面没有问题,公司是MySQL5.5的.回来在自己的机器(MySQL5.7)上面测试失败, java 实体类中使用的是 java.util.Date 对应数据库插入语句是 insert into t_user
ibatis插入CLOB字段
http://my.oschina.net/zimingforever/blog/81135 问题背景很简单,原先的DO中有一个字段是OutputStream类型,好吧,别问我为什么用这么变态的类型,存的是文件的内容,原先用的mysql(blob)+jdbctemplate一点问题的都没有,系统跑了也半年了。 但是现在改成用ibatis+Oracle(clob)就插入不进去了。网上也有
ibatis 数据库时间 插入数据
SELECT SEQ_TO_DO_BAR.NEXTVAL AS ID FROM DUAL         insert into TO_DO_BAR ()     values (#id:DECIMAL#, #todoType:VARCHAR#, #todoReceiver:VARCHAR#, #todoStatus:VARCHAR#, #todoUrl:VARCHAR#, #subSys
iBatis插入对象属性值为空时报错。
使用iBatis的时候,插入数据的时候,当对象的某个属性值为空值的时候,会报错(错误不统一(将截断字符串或二进制数据、))。 解决途径:INSERT INTO TMCS_ORPUDO ( POLICY_NO,STATUS,INSURED_BEGIN_DATE,RISK_CODE,PAY_MODE, PAY_YEARS,YEARS,APPLY_CODE,PAY_TO_DATE,MODE
Ibatis - insert是否插入成功
<br />今天看到项目中的dao中的insert方法。<br /><br />public int insertMessage(Message message) {<br />this.getSqlMapClientTemplate().insert("insertMessage", message);<br />return Constants.CODE_DAO_SUCCESS;<br />}<br />当然在service中进行了如果异常情况的一个处理,会改变返回的值(如果失败)。当然了这样做也还好,
Ibatis批量插入数据
一:实体类 public class Group implements Serializable { private static final long serialVersionUID = -7922610568143433283L; // 主键 private Integer id; // 分组名称 private String name; // 粉丝数
ibatis的insert中使用序列
Oracle中创建序列 create sequence MYDB_SEQUENCE increment by 1 start with 1 nomaxvalue minvalue 1;   xml写法     SELECT  MYDB_SEQUENCE.NEXTVAL FROM DUAL       insert into Student(id,name,age)
iBatis Date类型时间丢失问题
下面只是解决了时间插入的问题,至于从数据库读书时间的问题,还需要经进一步。 参照下面的帖子 : http://code.google.com/a/eclipselabs.org/p/demo1/wiki/OracleDateTypeHandler -------------------------------------------------------------------------
ibatis插入正确但查询不出数据的问题
现在,使用打印的sql在oracle数据库客户端能查询出结果,但执行ibatis查询语句不行,ibatis插入可以。 解决问题的历程: 1. 去掉sql中的where语句,仍然查找不到,确定不是sql错误。 2.检查oracle中该表的权限是否允许访问。 都排除了。 最后无意中发现sql map文件中的返回值为map类型,程序中的返回值为list类型。
ibatis的批处理
http://www.cnblogs.com/sunwei2012/archive/2010/11/26/1888497.html 最近做一个小项目,用到Spring+iBatis。突然遇到一个很久远,却很实在的问题:在Spring下怎么使用iBatis的批处理实现?  大概是太久没有写Dao了,这部分真的忘得太干净了。 从4个层面分析这部分实现:  iBatis的基本