原文链接:http://blog.csdn.net/wanghailong_qd/article/details/50673144 mybatis异常invalid comparison: java.util.Date and java.lang.String 开发中改动mapper文件后需要重新编译发布, 由于工程比较大非常耗时, 所以为方便快速测试干脆写了一个小java工程. 工程中用到的dao, mapper和实体类都是从工程中拷出来的, 数据库也是同一个. 但是遇到一个比较奇怪的问题 实…
严重: Servlet.service() for servlet [spring] in context with path [] threw exception [Request processing failed; nested exception is org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException: ### E…
mybatis中使用动态sql,报错: invalid comparison: java.util.ArrayList and java.lang.String] with root cause 是由于  list != ' ' 导致的,引起了集合与string类型的比较 <if test="lsit != null and list != ''"> B.COMMID IN ( <foreach collection="list" item=&qu…
背景:数据库为postgresql,表字段属性为timestamp格式 原因是mybatis 3.3.0中对于时间参数进行比较时的一个bug. 如果拿传入的时间类型参数与空字符串''进行对比判断则会引发异常. 所以在上面的代码中去该该判断, 只保留非空判断就正常了 --------------------------------------------之前的mapper里面进行了非null和非空验证,要去掉非空验证! 前台jsp传入后台的时间为string,在service里将string转为t…
整了半天终于找到问题所在:在mapper文件中,对该参数进行了和字符串的对比,如下: <if test="startTime != null and startTime != '' and endTime != null and endTime != ''"> AND createTime BETWEEN #{startTime} AND #{endTime} </if> 修改为以下格式解决问题: <if test="startTime != n…
犯了一个低级的错误,在传集合类型的参数时,把他当成字符串处理了,导致报类型转换的错误 把  and nsrsbh!=' ' 删掉就行了…
原配置写法:<if test="assetFlaw.handleTime != null and assetFlaw.handleTime != ''"> and af.handle_time like CONCAT('%',#{assetFlaw.handleTime},'%')</if> 原因: 这个错误是由于mybatis版本问题导致,这个版本中时间不能与空字符串进行比较.3.3.*版本应该都会有这个问题. 解决:…
请求参数中两个属性确实都是date类型,数据库也确认是data类型,这个错误是因为 在这里把date类型的参数与单引号做了比较出现的,删除就可以正常运行了.…
一.Java的class文件的内容 1.首先编写一个简单的代码 public class StringDemo { public static void main(String[] args) { String s=new String("hello world"); System.out.println(s); } } 2.运行程序编译成class文件,class文件的查看可以用Java class文件分析工具 -- Classpy 3.这种字节码文件我们肯定看不懂,所以我们可以通过…
原因: 时间与空字符串比较是无效的,如果拿传入的时间类型参数与空字符串''进行对比则会引发invalid comparison:java.util.data and java.lang.string异常 解决方法: 把xxx.xml中的 <if test="XXX !=null and XXX!='' "> XXX!='' 去掉,只保留非空判断…