java.sql.SQLException: 无效的列类型: 1111 报错问题解决

9 篇文章 0 订阅
4 篇文章 0 订阅

在项目中利用Mybatis做持久化框架,XXXMapper.xml中insert语句做插入时,偶然会遇到一些报错或者说是问题,如下:

报错日志:

nested exception is org.apache.ibatis.type.TypeException: Could not set parameters for mapping: ParameterMapping{property='__frch_item_0.perSource', mode=IN, javaType=class java.lang.String, jdbcType=null, numericScale=null, resultMapId='null', jdbcTypeName='null', expression='null'}. Cause: org.apache.ibatis.type.TypeException: Error setting null for parameter #7 with JdbcType OTHER . Try setting a different JdbcType for this parameter or a different jdbcTypeForNull configuration property. Cause: java.sql.SQLException: 无效的列类型: 1111

 

解决方案:

由于插入的字段为null,故报此错。在插入的字段为null值,且数据库字段存储允许为空时,mybatis的xml文件中需要指定字段的jdbc类型(当下字段在Java的实体类中被定义为String类型),即在#表达式中加入jdbcType=VARCHAR就OK了,如下

#{item.perSource,jdbcType=VARCHAR}

 

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
包含如下操作系统版本 FreeBSD Linux Solaris Windows 分别对应如下目录 MegaCLI for DOS MegaCLI for Linux MegaCLI for Solaris MegaCLI for FreeBSD MegaCLI for Windows ********************************************* LSI Corp. MegaRAID MegaCLI Release ********************************************* Release Date: 01/20/14 ======================== Supported Controllers ================== MegaRAID SAS 9270-8i MegaRAID SAS 9271-4i MegaRAID SAS 9271-8i MegaRAID SAS 9271-8iCC MegaRAID SAS 9286-8e MegaRAID SAS 9286CV-8e MegaRAID SAS 9286CV-8eCC MegaRAID SAS 9265-8i MegaRAID SAS 9285-8e MegaRAID SAS 9240-4i MegaRAID SAS 9240-8i MegaRAID SAS 9260-4i MegaRAID SAS 9260CV-4i MegaRAID SAS 9260-8i MegaRAID SAS 9260CV-8i MegaRAID SAS 9260DE-8i MegaRAID SAS 9261-8i MegaRAID SAS 9280-4i4e MegaRAID SAS 9280-8e MegaRAID SAS 9280DE-8e MegaRAID SAS 9280-24i4e MegaRAID SAS 9280-16i4e MegaRAID SAS 9260-16i MegaRAID SAS 9266-4i MegaRAID SAS 9266-8i MegaRAID SAS 9285CV-8e MegaRAID SAS 8704ELP MegaRAID SAS 8704EM2 MegaRAID SAS 8708ELP MegaRAID SAS 8708EM2 MegaRAID SAS 8880EM2 MegaRAID SAS 8888ELP MegaRAID SAS 8308ELP* MegaRAID SAS 8344ELP* MegaRAID SAS 84016E* MegaRAID SAS 8408E* MegaRAID SAS 8480E* MegaRAID SATA 300-8ELP* *These older controllers should work but have not been tested. Component: ========= SAS MegaRAID MegaCLI Release Date: 01/20/14 Version Numbers: MegaCLI =============== =========== Current Version 8.07.14 Previous Version 8.07.07 Contents: ========= This package contains MegaCLI for the following OSes: DOS FreeBSD Linux Solaris Windows Use the MegaCLI components from the folder that matches your OS. Enhancements and Bug Fixes ========================== SCGCQ00393585 (DFCT) - VD creation from MegaCli fails on Solaris Sparc 10u9 operating system. SCGCQ00413883 (DFCT) - "megacli -version -pd -a0" Segmentation Faults if PDs are missing SCGCQ00445356 (CSET) - Megacli crashes after invoking any command in SGI system with one 9280-8e and 2 quad port qlogic FC cards. SCGCQ
### 回答1: 这是一个 SQL 异常,错误信息是 "无效类型: 1111"。这通常表示在使用 JDBC 访问数据库时,程序尝试使用了一种不被数据库支持的数据类型。可能需要检查你的代码,确保使用了正确的数据类型。 ### 回答2: 当我们在Java程序中访问数据库时,可能会遇到一些问题。其中一个常见的问题是"java.sql.sqlexception: 无效类型: 1111"。这个错误通常是由于以下问题引起的: 1. 数据库版本不兼容:这个错误可能是由于我们使用的JDBC驱动程序的版本与我们正在使用的数据库不兼容所引起的。如果我们使用的JDBC驱动程序的版本太旧,它可能无法处理我们的数据库中使用的新数据类型。 2. 数据类型映射问题Java中的数据类型和数据库中的数据类型不完全相同。如果我们在数据库中使用了一种Java不支持的数据类型,或者我们在Java中使用了一种数据库不支持的数据类型,那么我们就可能会遇到这个错误。 3. 错误的查询语句:如果我们编写的SQL语句包含无效类型或错误的名,那么我们也会遇到这个错误。 为了解决这个错误,我们可以采取以下措施: 1. 更新JDBC驱动程序:如果我们使用的JDBC驱动程序版本太旧,我们可以更新JDBC驱动程序版本,或者使用与我们的数据库兼容的其他JDBC驱动程序。 2. 查看数据类型映射:我们需要确保Java中使用的数据类型和数据库中使用的数据类型相符。如果不相符,我们可以通过使用数据类型转换功能来解决这个问题。 3. 检查查询语句:如果我们遇到了这个错误,可以确保查询语句没有错误,并且所有名和数据类型都正确匹配。 总而言之,当我们遇到"java.sql.sqlexception:无效类型:1111"这个错误时,我们需要考虑以上三种情况,并采取相应的措施来解决问题。 ### 回答3: 该异常类型Java应用程序中经常遇到的问题之一。在这种情况下,异常消息表明数据库中的某个表中存在一个无效类型,因此无法将其读取或查询。这可能是由于以下原因之一引起的: 1. 数据库版本问题:在某些情况下,该异常可能是由于数据库版本不兼容导致的。这意味着您的应用程序中使用的Java桥梁无法识别或与数据库中的某些类型进行交互。在这种情况下,您应该考虑升级您的Java桥梁或数据库版本。 2. 数据类型不一致:Java应用程序中定义的数据类型与数据库中类型不一致可能会导致此问题。例如,在Java应用程序中,您可能会定义一个整数类型,但尝试将其读取到数据库中定义为日期时间或文本的中。 3. 数据库连接问题:在某些情况下,该异常可能是由于无法访问数据库或数据库连接出现故障而引起的。在这种情况下,您应该确保您的数据库连接正常工作,并且您有足够的权限来读取数据库中的表。 要解决这个问题,您需要识别导致该异常的具体原因,并相应地解决它。如果您无法确定问题来源,请考虑寻求专业帮助。另外,您可以在将Java应用程序与数据库交互之前,先测量一下您的数据库或Java桥梁的兼容性和可靠性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值