mybatis No enum const class org.apache.ibatis.type.JdbcType.Date 坑爹的配置
转自: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 坑爹的配置的更多相关文章
- mybatis No enum const class org.apache.ibatis.type.JdbcType.Integer
mybatis报错:没有Integer这个类型的jdbcType值 原因:mybatis配置重的jdbaType类型要是大写的 如图所示:
- Mybatis异常--java.lang.IllegalArgumentException: NO ENUM const class org.apache.ibatis.type.JdbcType.int
今天下午写代码时发现一直报错,找了半天都没找到错误原因. 最后才发现原来是XML配置错误,某条属性的JdbcType我按照以前ibatis的习惯写的int,但是Mybatis不识别的. 上Mybati ...
- mybatis: No enum constant org.apache.ibatis.type.JdbcType."VARCHAR"
mybatis 插入的时候一句sql报错如下. org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ib ...
- 【myBatis】java.lang.IllegalArgumentException: No enum constant org.apache.ibatis.type.JdbcType.NUMBE
可能#{current_date, jdbcType=VARCHAR}中的VARCHAR类型不对
- No enum constant org.apache.ibatis.type.JdbcType.Integer
同事今天在用mybatis查询时候,报了上面这个问题.上网查了下,原来是mybatis封装类型的问题.原因是在resultMap中jdbcType写为了Integer,但是在MyBatis中没有这个数 ...
- java.lang.IllegalArgumentException: No enum constant org.apache.ibatis.type.JdbcType.Integer
mybatis配置的jdbaType类型要是大写的,否则就会出现此种异常 原因是在xml中配置的 jdbcType中有小写字母
- No enum constant org.apache.ibatis.type.JdbcType.xxx 错误
配置文件Mapper中JdbcType错误,有可能是大小写,有可能是拼写错误
- 【异常及源码分析】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} ...
- 【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) 需要检查的步骤: ...
随机推荐
- Android:数据持久化(1/2)文件、SharedPreferences
Summary 持久化的3种方法: 普通文件:I/O流操作文件: SharedPreferences:XML文件,通过key-value pair的形式存储数据: SQLite:Android自带数据 ...
- HihoCoder 1033交错和(数位DP第三题)
(写挂了,有空再补) 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 给定一个数 x,设它十进制展从高位到低位上的数位依次是 a0, a1, ..., an - 1,定义 ...
- CA数字加密解密Demo
package aisin.text; import com.google.common.collect.Maps; import sun.misc.BASE64Decoder; impor ...
- Codeforces 620E New Year Tree【线段树傻逼题】
LINK 题目大意 给你一棵树 让你支持子树染色,子树查询颜色个数,颜色数<=60, 节点数<=4e5 思路 因为颜色数很少,考虑状态压缩变成二进制 然后直接在dfs序上用线段树维护就可以 ...
- PHP的网站主要攻击方式有哪些
1.命令注入(Command Injection) 2.eval注入(Eval Injection) 3.客户端脚本攻击(Script Insertion) 4.跨网站脚本攻击(Cross Site ...
- traits与Iterator
traits 这是用traits的详细用法https://www.cnblogs.com/tianzeng/p/9709814.html /** * 用于标记迭代器类型 */ struct input ...
- 如何点焊过的镍片再次焊接到 PCBA 上?
如何将点焊过的镍片再次焊接到 PCBA 上? 在 PCBA 上贴了镍片再点焊,这样的制造工艺可以大大减少人工处理,提高生产通过率. 由于种种原因,有些机器可能有故障需要维修,而且电池又需要拆下来,才能 ...
- php-fpm设置与 phpMyadmin超时 操作SQL超时
LNMP 一键安装包环境: Phpmyadmin 登录超时 (1440 秒未活动),请重新登录. vim /usr/local/php/etc/php.ini session.gc_maxlife ...
- LNMP.ORG 安装LNMP
参考:http://lnmp.org/install.html cd /usr/local/src wget -c http://soft.vpser.net/lnmp/lnmp1.3-full.ta ...
- 如何在项目中使用requireJS
本文主要讲讲如何在一个项目中合理的使用requireJS,来加载js代码,这里是个实际例子,讲解不多, 看详情请连接到:http://www.cnblogs.com/evaling/p/6722760 ...