mybatis 插入的时候一句sql报错如下。

org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.builder.BuilderException: Error resolving JdbcType. Cause: java.lang.IllegalArgumentException: No enum constant org.apache.ibatis.type.JdbcType."VARCHAR"

insert into sys_user(
<if test="userId != null and userId != '' ">user_id,</if> create_time
)values(
<if test="userId != null and userId != ''">#{userId,jdbcType="VARCHAR"},</if> sysdate
)

原因在于

#{userId,jdbcType="VARCHAR"}, 

即mybatis所定义的类型常量枚举不存在,mybatis 解析为了"VARCHAR" 带双引号的字符串,改为

insert into sys_user(
<if test="userId != null and userId != '' ">user_id,</if> create_time
)values(
<if test="userId != null and userId != ''">#{userId,jdbcType=VARCHAR},</if> sysdate
)

把双引号去掉或者直接不写jdbcType 即可。

mybatis: No enum constant org.apache.ibatis.type.JdbcType."VARCHAR"的更多相关文章

  1. 【myBatis】java.lang.IllegalArgumentException: No enum constant org.apache.ibatis.type.JdbcType.NUMBE

    可能#{current_date, jdbcType=VARCHAR}中的VARCHAR类型不对

  2. No enum constant org.apache.ibatis.type.JdbcType.Integer

    同事今天在用mybatis查询时候,报了上面这个问题.上网查了下,原来是mybatis封装类型的问题.原因是在resultMap中jdbcType写为了Integer,但是在MyBatis中没有这个数 ...

  3. java.lang.IllegalArgumentException: No enum constant org.apache.ibatis.type.JdbcType.Integer

    mybatis配置的jdbaType类型要是大写的,否则就会出现此种异常 原因是在xml中配置的 jdbcType中有小写字母

  4. No enum constant org.apache.ibatis.type.JdbcType.xxx 错误

    配置文件Mapper中JdbcType错误,有可能是大小写,有可能是拼写错误

  5. mybatis No enum const class org.apache.ibatis.type.JdbcType.Date 坑爹的配置

    转自:https://lihaiming.iteye.com/blog/2248059 在ibatis中不需要关注这些参数 而转到mybatis后 如果字段值为空 必须设置jdbcType如inser ...

  6. Mybatis异常--java.lang.IllegalArgumentException: NO ENUM const class org.apache.ibatis.type.JdbcType.int

    今天下午写代码时发现一直报错,找了半天都没找到错误原因. 最后才发现原来是XML配置错误,某条属性的JdbcType我按照以前ibatis的习惯写的int,但是Mybatis不识别的. 上Mybati ...

  7. mybatis No enum const class org.apache.ibatis.type.JdbcType.Integer

    mybatis报错:没有Integer这个类型的jdbcType值 原因:mybatis配置重的jdbaType类型要是大写的 如图所示:

  8. 【异常及源码分析】org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.type.TypeException: Could not set parameters for mapping: ParameterMapping

    一.异常出现的场景 1)异常出现的SQL @Select("SELECT\n" + " id,discount_type ,min_charge, ${cardFee} ...

  9. java.lang.IllegalArgumentException: No enum constant org.apache.ws.commons.schema.XmlSchemaForm.

    一次系统断电维护之后,apache cxf 的 web service 接口调用一直报错: java.lang.IllegalArgumentException: No enum constant o ...

随机推荐

  1. Java常用类之时间类

    JDK8之前日期时间API 1. java.lang.System类 2. java.util.Date类 3. java.text.SimpleDateFormat类 4. java.util.Ca ...

  2. Mybatis映射器(二)

    上一篇文章返回是resultType,但其无法定义多的属性,比如typeHandler,级联等.为了支持复杂映射,可以用resultMap属性,先定义resultmap属性: <mapper n ...

  3. servlet中servletContext的五大作用(二)

    1.    获取web的上下文路径 2.    获取全局的参数 3.    作为域对象使用 4.    请求转发 5.    读取web项目的资源文件 package day10.about_serv ...

  4. jdbc操作mysql(三):利用注解封装

    案例五:利用注解封装 重复步骤 我们使用jdbc操作mysql时发现,操作不同表中数据,所写的方法基本相同:比如我们根据id向用户表添加数据,根据id删除商品表的数据,或者查询所有数据并用list集合 ...

  5. MySQL-SQL基础-查询2

    mysql> create table customer(mid char(5) primary key,th date,sex char(1) default '0'); Query OK, ...

  6. php 字符串分割输出

    分割字符串 //利用 explode 函数分割字符串到数组 复制代码代码如下:<?php $source = "hello1,hello2,hello3,hello4,hello5&q ...

  7. 基于Linux系统ipython和集成开发环境Pycharm的安装

    1.简介 Python是一门跨平台的开源.免费的.解释型.面向对象.带有动态语义的脚本语言,同时也支持伪编译以进行优化和提高运行速度,还支持使用py2exe工具将Python程序转换为exe可执行程序 ...

  8. 一个简单的URL访问权限校验

    前言 目前最流行的两大安全框架:SpringSecruity.Shiro 权限控制,无非就是:前端控件是否可见.是否允许请求/访问URL 本文分享一个简单的URL访问权限校验,支持/./*./**等情 ...

  9. 20210713考试-2021noip13

    这位巨佬的博客还是比我好多了 T1 工业题 考场: 暴力挺香的,不想正解了. 题解: $f(i,j)$ 只会得到 $f(i-1,j)$ 和 $f(i,j-1)$ 的贡献.每向右一步乘 $a$ ,向下一 ...

  10. windows操作系统和java常识

    一.java5和java8版本更新很大,现在都是java8; 二.数据存储最小单位Byte字节八个比特位: 三.没有图形操作界面的windows系统: 四.java语言跨平台性:JVM充当不同操作系统 ...