转自:https://lihaiming.iteye.com/blog/2248059

在ibatis中不需要关注这些参数 而转到mybatis后 如果字段值为空 必须设置jdbcType

insert into testTable
   (ID,
   NAME,
   DESCRIPTION,
   IMAGEURL,
   LINKURL,
   ISALWAYS,
   ISDISPLAYINDEX,
   DISPLAYWEIGHT,
   STARTTIME,
   ENDTIME,
   CREATOR,
   CREATTIME,
   MODIFYTIME)
  values
   (SEQ_ACTIVITY_TABLE.NEXTVAL,
   #{name},
   #{desc,jdbcType=VARCHAR},
   #{imageUrl,jdbcType=VARCHAR},
   #{linkUrl,jdbcType=VARCHAR},
   #{isAlways,jdbcType=CHAR},
   #{isDisplayIndex,jdbcType=CHAR},
   #{displayWeight,jdbcType=VARCHAR},
   #{startTime,jdbcType=DATE},
   #{endTime,jdbcType=DATE},
   #{creator,jdbcType=VARCHAR},
   sysdate,
   sysdate
   )
 </insert>

这些设置之多,太烦了,最让人烦的是  jdbcType = DATE,类型还必须大写,不能小写。
如下面的例子,将DATE 改成 Date 。结果让人很抓狂啊!!!
insert into testTable
   (ID,
   NAME,
   DESCRIPTION,
   IMAGEURL,
   LINKURL,
   ISALWAYS,
   ISDISPLAYINDEX,
   DISPLAYWEIGHT,
   STARTTIME,
   ENDTIME,
   CREATOR,
   CREATTIME,
   MODIFYTIME)
  values
   (SEQ_ACTIVITY_TABLE.NEXTVAL,
   #{name},
   #{desc,jdbcType=VARCHAR},
   #{imageUrl,jdbcType=VARCHAR},
   #{linkUrl,jdbcType=VARCHAR},
   #{isAlways,jdbcType=CHAR},
   #{isDisplayIndex,jdbcType=CHAR},
   #{displayWeight,jdbcType=VARCHAR},
   #{startTime,jdbcType=Date},
   #{endTime,jdbcType=DATE},
   #{creator,jdbcType=VARCHAR},
   sysdate,
   sysdate
   )
 </insert>

org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.builder.BuilderException: Error resolving JdbcType. Cause: java.lang.IllegalArgumentException: No enum const class org.apache.ibatis.type.JdbcType.Date
org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:75)
org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:368)

更坑爹的在后面,上面insert时的时候用#{endTime,jdbcType=DATE},可以将时间插入成功,且可以精确到时分秒
但如果在update语句中也这样使用,那你得到的只会有日期,这够坑爹的了吧 ,尼玛  比起ibatis方便之处差远了
要想在update语句中 将时间格式化成时分秒 不得不再加一个类型 如下面:
startTime = #{startTime,javaType=DATE, jdbcType=VARCHAR}

mybatis No enum const class org.apache.ibatis.type.JdbcType.Date 坑爹的配置的更多相关文章

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

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

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

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

  3. mybatis: No enum constant org.apache.ibatis.type.JdbcType."VARCHAR"

    mybatis 插入的时候一句sql报错如下. org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ib ...

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

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

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

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

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

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

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

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

  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. 【mybatis】mybatis访问报错:org.apache.ibatis.binding.BindingException: Invalid bound statement (not found) 或者 feign被调用方使用的mybatis总报空指针异常java.lang.NullPointerException,而变量都没有问题的情况

    mybatis访问报错:org.apache.ibatis.binding.BindingException: Invalid bound statement (not found) 需要检查的步骤: ...

随机推荐

  1. linux 文件上传&软件安装(rpm)

    文件的上传与下载(linux -linux ) 实例1:从远处复制文件到本地目录命令:scp root@192.168.120.204:/opt/soft/nginx-0.5.38.tar.gz /o ...

  2. silverlight——获取控件相对位置

    事出有因:页面中存在滚动条,然后点击页面按钮时会进行正确性检查,如果出错在控件的位置会出现提示信息,但由于滚动条的出现,有可能在非可视区域内的控件出了问题,但目前是看不见的,因此,考虑获得出问题控件的 ...

  3. 报错【Expression user.achievement is undefined on 】

  4. BZOJ3083 遥远的国度 【树链剖分】

    BZOJ3083 遥远的国度 Description zcwwzdjn在追杀十分sb的zhx,而zhx逃入了一个遥远的国度.当zcwwzdjn准备进入遥远的国度继续追杀时,守护神RapiD阻拦了zcw ...

  5. tableau-详细级别表达式——2、阵列分析

    tableau做阵列分析 合作时间越长的客户对销售额的贡献越大吗? 下面的视图按照客户首次购买的年份将客户分组,以便对比各个阵列的年度销售贡献额. 每个客户的最早订单日期将体现出首次购买日期.不过,由 ...

  6. 在iOS中使用ZBar扫描二维码

    最近在做的项目中需要用到二维码扫描功能,之前在Android中使用过ZXing识别二维码,ZXing也有对应的iOS版本,经过了解,ZBar也是一个常用的二维码识别软件,并分别提供了iOS和Andro ...

  7. java中线程安全问题

    在java中单线程和多线程是什么意思,他们有什么区别,分别的作用是什么? 在一个程序中,这些独立运行的程序片断叫作“线程”(Thread),利用它编程的概念就叫作“多线程处理”.多线程处理一个常见的例 ...

  8. bzoj 4036 按位或 —— min-max容斥+FMT

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4036 min-max容斥:https://blog.csdn.net/ez_2016gdgz ...

  9. IMAP简单研究

    IMAP的相关详细介绍: http://www.imapwiki.org/ClientImplementationhttp://tools.ietf.org/html/rfc3501 1.连接服务器 ...

  10. CF - A. Writing Code

    本博客参考自这里 不是我说,我就觉得这题题目贼鸡儿难懂 所以只能看看别的博客如何解释这题题目的意思咯. 有n个程序,这n个程序运作产生m行代码,但是每个程序产生的BUG总和不能超过b,给出每个程序产生 ...