当前使用版本(必填,否则不予处理)
3.5.3
该问题是如何引起的?(确定最新版也有问题再提!!!)
01:想在更新的时候设置字段为空,但是在运行的时候提示: 无效的列类型: 1111
02:写法参照的是官网 问答 里面的示例:
重现步骤(如果有就写完整)
01:通过UpdateWrapper设置字段值为空:
02:执行的时候报错:
报错信息
org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.type.TypeException: Could not set parameters for mapping: ParameterMapping{property='ew.paramNameValuePairs.MPGENVAL1', mode=IN, javaType=class java.lang.Object, jdbcType=null, numericScale=null, resultMapId='null', jdbcTypeName='null', expression='null'}. Cause: org.apache.ibatis.type.TypeException: Error setting null for parameter #1 with JdbcType OTHER . Try setting a different JdbcType for this parameter or a different jdbcTypeForNull configuration property. Cause: java.sql.SQLException: 无效的列类型: 1111
Comment From: GitBySzl
Comment From: miemieYaho
那就是驱动或者连接池或者其他mybatis.configuration配置的问题
Comment From: GitBySzl
唔,谢谢!但不知道该怎么定位这个问题具体出在哪里,冒昧的问一下您有好的建议嘛(万分感谢)百度了一圈没找到跟我类似的情况,这个问题困扰我好久了。。
贴一下我的数据库相关的配置:
依赖包版本
<!-- mybatis-plus -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.3</version>
<exclusions>
<exclusion>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus</artifactId>
<version>3.5.3</version>
</dependency>
<!-- oracle -->
<dependency>
<groupId>com.oracle.database.jdbc</groupId>
<artifactId>ojdbc8</artifactId>
<version>12.2.0.1</version>
</dependency>
<!-- sqlserver -->
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>sqljdbc4</artifactId>
<version>4.0</version>
</dependency>
<!--多数据源-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.20</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>dynamic-datasource-spring-boot-starter</artifactId>
<version>2.5.6</version>
</dependency>
启动配置
server:
port: 8888
spring:
datasource:
dynamic:
primary: DB_Oracle
datasource:
DB_Oracle:
url: jdbc:oracle:thin:@10.20.50.80:1521/DXM0
username: LS
password: LS
driver-class-name: oracle.jdbc.driver.OracleDriver
DB_SqlServer:
url: jdbc:sqlserver://10.20.50.111:1433;DatabaseName=measure
username: dxyl
password: dxyl@qaz123
driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
druid:
initial-size: 1
max-active: 20
min-idle: 1
max-wait: 60000
autoconfigure:
exclude: com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure # 去除druid配置
mybatis-plus:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
Comment From: miemieYaho
那是oracle的问题,百度搜吧
Comment From: GitBySzl
好的,谢谢咯
Comment From: GitBySzl
已解决,加一段配置即可~