- 1、本文档共4页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Oracle数据库mybatis 插入空值时报错问题
Oracle数据库mybatis 插入空值时报错(with JdbcType OTHER)的两种解决方案在使用Mybatis 3 时,发现了这个问题,当插入数据时,如果有一个字段为空值时,系统会报异常,导致插入数据失败。异常信息类似:org.springframework.jdbc.UncategorizedSQLException: Error setting null for parameter #6 with JdbcTypeOTHER . Try setting a different JdbcType for this parameter or a different jdbcTypeForNull configuration property.?经过查阅各种资料,终于找到了两种解决方案,分别如下,其中第二种方案个人比较喜欢。第一种方式,如出错信息中提到的,需要在每个数据变量那里设置相应的jdbcType,示例如下(加粗加下划线部分的内容):insert?id=”insertCustomerLog1″?parameterType=”com.diyicai.customer.domain.CustomerLog”????????insert?into?customer_log???????????????(???????????????ID,???????????????CUSTOMER_SERVICE_USER_NAME,???????????????user_name?,???????????????CONTENT,???????????????LOG_FIRST_TYPE,???????????????STATUS,???????????????LINKED_ID,???????????????FEE,???????????????ACCOUNT_FIRST_TYPE,???????????????ACCOUNT_SECOND_TYPE,???????????????ACCOUNT_THIRD_TYPE,???????????????LOG_SECOND_TYPE,???????????????LOG_IP,???????????????MEMO???????????????)???????????????values???????????????(???????????????seq_customer_log.nextval?,???????????????#{customerServiceUserName,jdbcType=VARCHAR}?,???????????????#{username,jdbcType=VARCHAR},???????????????#{content,jdbcType=VARCHAR},???????????????#{logFirstType,jdbcType=NUMERIC},???????????????#{status,jdbcType=NUMERIC},???????????????#{linkedId,jdbcType=VARCHAR},???????????????#{fee,jdbcType=NUMERIC},???????????????#{accountFirstType,jdbcType=NUMERIC},???????????????#{accountSecondType,jdbcType=NUMERIC},???????????????#{accountThirdType,jdbcType=NUMERIC},???????????????#{logSecondType,jdbcType=NUMERIC},???????????????#{logIp,jdbcType=VARCHAR},???????????????#{memo,jdbcType=VARCHAR}???????????????)????/insert这种方案在网上有很多介绍,但是我不满意,因为太麻烦了,要增加很多代码,导致后期的维护困难增加。后来找到以下第二种方案,很不错,推荐一下。第二种方案:MyBatis-config.xml 中设置当JDBC类型为空值时,要指定的值得,默认为OTHER,我们指定为NULL就好了(注意是大写的NULL)。?顺便补习一下MyBatis-config.xml配置说明,赶紧收藏吧。!–?配置设置?–??????settings??????????!–?配置全局性?cache?的?(?开?/?关)?default:true?–??????????setting?name=“cacheEnabled”?value=“true”/??????????????????
文档评论(0)