今天出现这样一个错误
12:29:40.974 [main] DEBUG o.s.j.s.SQLErrorCodeSQLExceptionTranslator - Unable to translate SQLException with Error code '-4228', will now try the fallback translator
12:29:40.979 [main] DEBUG o.s.jdbc.datasource.DataSourceUtils - Returning JDBC Connection to DataSource
Exception in thread "main" org.springframework.jdbc.UncategorizedSQLException: SqlMapClient operation; uncategorized SQLException for SQL []; SQL state [null]; error code [-4228];
--- The error occurred in sqlMap/ehrIndex.xml.
--- The error occurred while applying a parameter map.
--- Check the ehrIndex.insertEhrIndex-InlineParameterMap.
--- Check the parameter mapping for the 'flag' property.
--- Cause: com.ibm.db2.jcc.b.SqlException: [jcc][10271][10295][3.50.152] 无法识别 JDBC 类型:0。 ERRORCODE=-4228, SQLSTATE=null; nested exception is com.ibatis.common.jdbc.exception.NestedSQLException:
--- The error occurred in sqlMap/ehrIndex.xml.
--- The error occurred while applying a parameter map.
--- Check the ehrIndex.insertEhrIndex-InlineParameterMap.
--- Check the parameter mapping for the 'flag' property.
--- Cause: com.ibm.db2.jcc.b.SqlException: [jcc][10271][10295][3.50.152] 无法识别 JDBC 类型:0。 ERRORCODE=-4228, SQLSTATE=null
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:83)
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80)
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80)
at org.springframework.orm.ibatis.SqlMapClientTemplate.execute(SqlMapClientTemplate.java:203)
at org.springframework.orm.ibatis.SqlMapClientTemplate.insert(SqlMapClientTemplate.java:364)
at com.founder.dao.impl.EhrIndexDaoImpl.insertEhrIndex(EhrIndexDaoImpl.java:10)
at com.founder.service.impl.IntegrationHealthRecordServiceImpl.handleEhrIndex(IntegrationHealthRecordServiceImpl.java:143)
at com.founder.service.impl.IntegrationHealthRecordServiceImpl.invoke(IntegrationHealthRecordServiceImpl.java:68)
at com.founder.Launch.main(Launch.java:17)
Caused by: com.ibatis.common.jdbc.exception.NestedSQLException:
--- The error occurred in sqlMap/ehrIndex.xml.
--- The error occurred while applying a parameter map.
--- Check the ehrIndex.insertEhrIndex-InlineParameterMap.
--- Check the parameter mapping for the 'flag' property.
--- Cause: com.ibm.db2.jcc.b.SqlException: [jcc][10271][10295][3.50.152] 无法识别 JDBC 类型:0。 ERRORCODE=-4228, SQLSTATE=null
at com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.executeUpdate(MappedStatement.java:107)
at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.insert(SqlMapExecutorDelegate.java:393)
at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.insert(SqlMapSessionImpl.java:82)
at org.springframework.orm.ibatis.SqlMapClientTemplate$8.doInSqlMapClient(SqlMapClientTemplate.java:366)
at org.springframework.orm.ibatis.SqlMapClientTemplate.execute(SqlMapClientTemplate.java:200)
... 5 more
Caused by: com.ibm.db2.jcc.b.SqlException: [jcc][10271][10295][3.50.152] 无法识别 JDBC 类型:0。 ERRORCODE=-4228, SQLSTATE=null
at com.ibm.db2.jcc.b.wc.a(wc.java:55)
at com.ibm.db2.jcc.b.wc.a(wc.java:102)
at com.ibm.db2.jcc.b.cb.i(cb.java:1219)
at com.ibm.db2.jcc.b.uk.b(uk.java:612)
at com.ibm.db2.jcc.b.uk.setNull(uk.java:584)
at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.setNull(NewProxyPreparedStatement.java:157)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.ibatis.common.jdbc.logging.PreparedStatementLogProxy.invoke(PreparedStatementLogProxy.java:70)
at $Proxy2.setNull(Unknown Source)
at com.ibatis.sqlmap.engine.mapping.parameter.ParameterMap.setParameter(ParameterMap.java:172)
at com.ibatis.sqlmap.engine.mapping.parameter.ParameterMap.setParameters(ParameterMap.java:126)
at com.ibatis.sqlmap.engine.execution.SqlExecutor.executeUpdate(SqlExecutor.java:78)
at com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.sqlExecuteUpdate(MappedStatement.java:216)
at com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.executeUpdate(MappedStatement.java:94)
... 9 more
原因在于flag这个属性数据库中是CHARACTER类型,而java代码中string类型,我把flag设为null,ibatis中又是这样写代码
insert into
EHR_INDEX(
INDEX_ID,EHR_ID,EHR_NAME,PARENT_ID,
FLAG,PERSON_ID,TYPE_ID,INDEX_SEQUENCE,
PIX_ID,NAME,AGE,EVENT_DATE,
EVENT_YEAR,EVENT_MONTH,DISEASE,DISEASE_NAME,
CREATE_DATE,CREATE_UNIT,CREATE_UNIT_NAME,CREATE_DEPT,
CREATOR,CREATOR_NAME,MODIFY_DATE,MODIFY_UNIT,
MODIFY_DEPT,MODIFIER,MODIFIER_NAME,MGMT_FLAG,
CREATOR_ID_NO
)
values(
#indexId#,#ehrId#,#ehrName#,#parentId#,
#flag#,#personId#,#typeId#,#indexSequence#,
#pixId#,#name#,#age#,#eventDate#,
#eventYear#,#eventMonth#,#disease#,#diseaseName#,
#createDate#,#createUnit#,#createUnitName#,#createDept#,
#creator#,#creatorName#,#modifyDate#,#modifyUnit#,
#modifyDept#,#modifier#,#modifierName#,#mgmtFlag#,
#creatorIdNo#
)
所以抱这样的错,关键在于代码不规范啊,解决办法在在ibatis中#flag#中加入类型处理,如#flag:char#
分享到:
相关推荐
代码如下:failed to create jvm error code -4 这一般应是内存不够用所致,解决方法参考如下。 打开 Android Studio 安装目录下的bin目录,查找并打开文件 studio.exe.vmoptions,修改代码: 代码如下:-Xmx512m 为...
热更新时,我们执行命令 npm install -g cordova-hot-code-push-cli安装插件,但运行cordova-hcp server会报错,如:Could not create tunnel: { Error: ngrok is not yet ready to start tunnels...,这时我们找到...
Loadrunner Error -27492: "HttpSendRequest" failed, Windows error code....错误解决方法
**LDAP_OPERATIONS_ERROR (1)** **描述:** 发生了一个通用的操作错误。 **处理方式:** 检查操作是否符合LDAP规范,确保提供的参数是正确的。 ##### 3. **LDAP_PROTOCOL_ERROR (2)** **描述:** 客户端发送的...
前端开源库-code-frame是一个专为前端开发者设计的轻量级代码帧工具,它的主要功能是生成类似于Babel代码帧的展示效果,但体积更小,更加优化,适用于那些对性能有较高要求或者希望减少项目依赖的场景。本文将深入...
启动cordova-hcp server报错 Could not create tunnel: { Error: ngrok is not yet ready to start tunnels 时,将路径 下的cordova-hot-code-push-cli文件下用下载的文件替换就可以了
启动cordova-hcp server报错 Could not create tunnel: { Error: ngrok...时,将路径 我个人的是:(C:\Users\lenovo\AppData\Roaming\npm\node_modules)下的cordova-hot-code-push-cli文件下用下载的文件替换就可以了
### DB2错误代码详解 #### 引言 在数据库管理领域,DB2作为IBM的一款旗舰级产品,广泛应用于各类企业级应用中。然而,在实际使用过程中难免会遇到各种各样的错误,了解并掌握这些错误代码及其含义对于及时解决问题...
C语言26-高级PWM5-PWM6-PWM7-PWM8输出测试程序(STC32G-DEMO-CODE-220311kw)C语言26-高级PWM5-PWM6-PWM7-PWM8输出测试程序(STC32G-DEMO-CODE-220311kw)C语言26-高级PWM5-PWM6-PWM7-PWM8输出测试程序(STC32G-DEMO...
std::string ErrorHelper::getErrorMsg(ErrorCode errorCode) const { switch (errorCode) { case NO_ERROR: return "无错误"; case FILE_NOT_FOUND: return "文件未找到"; case IO_ERROR: return "输入/输出...
std::string getErrorMessage(ErrorCode errorCode) { auto it = errorMessages.find(errorCode); if (it != errorMessages.end()) { return it->second; } else { return "未知错误"; } } ``` 在实践中,...
<error-code>404</error-code> <location>/error/404.jsp </error-page> ``` 在这里,`<error-code>`元素定义了要捕获的HTTP错误代码,如404(未找到)、500(服务器内部错误)等。`<location>`元素则指定了当...
- **Error Code -62**:这个错误码定义在`include/asm-generic/errno.h`或`u-boot/include/asm-arm/errno.H`文件中,表示为`ETIME62`,即定时器过期。根据`error-codes.txt`文档的解释,这通常意味着在规定的总线...
U盘出现DEVICE ERROR CODE 0x0406错误解决办法
error code 查询小工具,可以查看windows系统的error code定义,如:error code=112,
import CodeError from 'code-error' ; const error = new CodeError ( message , options ) ; error . excerpt ; // plain text excerpt error . ansiExcerpt ; // same with some colour using ANSI escape codes ...
HTTP ERROR CODE 401的解决方法
#### 2020 - The following tables are involved in an error: table-name **错误代码**: 2020 **描述**: 指定错误涉及指定的表。 **解决方案**: 1. 查看伴随的错误消息,了解系统的处理情况。 2. 检查指定的表...