Java 如何从Ibatis获取带有消息和错误代码的SQLException

Java 如何从Ibatis获取带有消息和错误代码的SQLException,java,ibatis,Java,Ibatis,我是Ibatis的新手。我试图捕获SQL异常和错误代码,但找不到它。Ibatis异常是运行时异常。那么如何找到SQL错误消息和错误代码呢。我捕获的异常如下所示: com.common.dao.BaseDaoImpl:167-创建类别捕获的错误代码 主机:无法插入-id[createMaster],parameterObject [com.mslkp.vo。msklpVO@a27b9e]. 原因: com.ibatis.common.jdbc.exception.NestedSQLExceptio

我是Ibatis的新手。我试图捕获SQL异常和错误代码,但找不到它。Ibatis异常是运行时异常。那么如何找到SQL错误消息和错误代码呢。我捕获的异常如下所示:

com.common.dao.BaseDaoImpl:167-创建类别捕获的错误代码 主机:无法插入-id[createMaster],parameterObject [com.mslkp.vo。msklpVO@a27b9e]. 原因: com.ibatis.common.jdbc.exception.NestedSQLException:

---错误发生在com/sql/createMSLKP.xml中

---应用参数映射时出错

---检查createMSLKP InlineParameterMap

---检查语句(更新失败)

---原因:java.sql.SQLIntegrityConstraintViolationException:ORA-01400:无法在“MS”“T\u MSTR\u LKUP”“DELET\u FLG”中插入NULL


如何捕获错误代码,如01400?

捕获
NestedSQLException
(或任何其他包装异常),并获取其原因
。实际上com.ibatis.common.jdbc.exception.RuntimeSQLException及其子类有一个方法getErrorCode(),请尝试一下