Mybatis JDBC No enum constant org.apache.ibatis.type.JdbcType.TEXT异常处理

简介: Mybatis JDBC No enum constant org.apache.ibatis.type.JdbcType.TEXT异常处理

一、异常错误

ERROR 17084 --- [           main] o.s.boot.SpringApplication               : Application run failed
……
GetExperimentIdMapper.class]: Invocation of init method failed; nested exception is java.lang.IllegalArgumentException: org.apache.ibatis.builder.BuilderException: Error resolving JdbcType. Cause: java.lang.IllegalArgumentException: No enum constant org.apache.ibatis.type.JdbcType.TEXT
……

二、原因

数据库类型是 text类型,使用Mybatis 的 JdbcType也是 TEXT 类型,但 Mybatis 的 JdbcType类上没有这个类型,与text类型对应的应该是LONGVARCHAR类型,注意Mybatis严格区分大小写。

查看jdbcType枚举类源码

package org.apache.ibatis.type;
import java.sql.Types;
import java.util.HashMap;
import java.util.Map;
/**
 * @author Clinton Begin
 */
public enum JdbcType {
  ARRAY(Types.ARRAY),
  BIT(Types.BIT),
  TINYINT(Types.TINYINT),
  SMALLINT(Types.SMALLINT),
  INTEGER(Types.INTEGER),
  BIGINT(Types.BIGINT),
  FLOAT(Types.FLOAT),
  REAL(Types.REAL),
  DOUBLE(Types.DOUBLE),
  NUMERIC(Types.NUMERIC),
  DECIMAL(Types.DECIMAL),
  CHAR(Types.CHAR),
  VARCHAR(Types.VARCHAR),
  LONGVARCHAR(Types.LONGVARCHAR),
  DATE(Types.DATE),
  TIME(Types.TIME),
  TIMESTAMP(Types.TIMESTAMP),
  BINARY(Types.BINARY),
  VARBINARY(Types.VARBINARY),
  LONGVARBINARY(Types.LONGVARBINARY),
  NULL(Types.NULL),
  OTHER(Types.OTHER),
  BLOB(Types.BLOB),
  CLOB(Types.CLOB),
  BOOLEAN(Types.BOOLEAN),
  CURSOR(-10), // Oracle
  UNDEFINED(Integer.MIN_VALUE + 1000),
  NVARCHAR(Types.NVARCHAR), // JDK6
  NCHAR(Types.NCHAR), // JDK6
  NCLOB(Types.NCLOB), // JDK6
  STRUCT(Types.STRUCT),
  JAVA_OBJECT(Types.JAVA_OBJECT),
  DISTINCT(Types.DISTINCT),
  REF(Types.REF),
  DATALINK(Types.DATALINK),
  ROWID(Types.ROWID), // JDK6
  LONGNVARCHAR(Types.LONGNVARCHAR), // JDK6
  SQLXML(Types.SQLXML), // JDK6
  DATETIMEOFFSET(-155); // SQL Server 2008
}

三、解决方法

将jdbcType修改即可

jdbcType=LONGVARCHAR

9674d18352db4cc1b249e7fda98f9b16.png

目录
相关文章
|
2月前
|
缓存 Java 数据库连接
使用Mybatis与直觉用jdbc相比,哪个更有优势?
Mybatis如果仅仅是要【会用】,入门是非常快的,感觉两三天就可以搞好了。
31 0
|
4月前
|
druid Java 数据库连接
SpringBoot原理分析 | Spring Data整合:JDBC、Druid、Mybatis
SpringBoot原理分析 | Spring Data整合:JDBC、Druid、Mybatis
65 0
|
2月前
|
前端开发 Java 数据库连接
Springboot-MyBatis配置-配置端口号与服务路径(idea社区版2023.1.4+apache-maven-3.9.3-bin)
Springboot-MyBatis配置-配置端口号与服务路径(idea社区版2023.1.4+apache-maven-3.9.3-bin)
33 0
|
1月前
|
SQL Java 数据库连接
【Mybatis】从 JDBC 到 MyBatis
【Mybatis】从 JDBC 到 MyBatis
26 0
|
5月前
|
Java 数据库连接
解决No enum constant org.apache.ibatis.type.JdbcType.XXX
解决No enum constant org.apache.ibatis.type.JdbcType.XXX
154 0
|
6月前
|
XML Java 数据库连接
解决在mybatis中出现的org.apache.ibatis.exceptions.PersistenceException~
解决在mybatis中出现的org.apache.ibatis.exceptions.PersistenceException~
671 0
|
4月前
|
SQL Java 数据库连接
(干货)老大:你为什么要用Mybatis,JDBC存在哪些问题?
(干货)老大:你为什么要用Mybatis,JDBC存在哪些问题?
29 0
|
6月前
|
Java 数据库连接 mybatis
【Mybatis异常】nested exception is org.apache.ibatis.reflection.ReflectionException: There is no getter
【Mybatis异常】nested exception is org.apache.ibatis.reflection.ReflectionException: There is no getter
178 0
|
6月前
|
XML Java 数据库连接
MyBatis参数映射问题解决教程: org.apache.ibatis.type.TypeException: Error setting non null for parameter #1 wit
MyBatis参数映射问题解决教程: org.apache.ibatis.type.TypeException: Error setting non null for parameter #1 wit
318 1
|
druid 前端开发 Java
Spring boot整合<Mybatis【对JDBC的封装】>,Druid连接池
目录 文件目录层次和等级: 第二依赖: 第三配置文件: 第四创建文件:
117 0
Spring boot整合<Mybatis【对JDBC的封装】>,Druid连接池

推荐镜像

更多