在update时候,如果 时间类型与空字符串进行比较会抛异常。


	    <if test='createDate != null and createDate!=""' >  
	      CREATE_DATE = #{createDate,jdbcType=DATE},	 
	    </if>  


异常信息 如下:


.invoke(Unknown Source) 
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
	at java.lang.reflect.Method.invoke(Unknown Source) 
	at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:386) 
	... 41 more 
Caused by: java.lang.IllegalArgumentException: invalid comparison: java.sql.Timestamp and java.lang.String 
	at org.apache.ibatis.ognl.OgnlOps.compareWithConversion(OgnlOps.java:92) 
	at org.apache.ibatis.ognl.OgnlOps.isEqual(OgnlOps.java:142) 
	at org.apache.ibatis.ognl.OgnlOps.equal(OgnlOps.java:794) 
	at org.apache.ibatis.ognl.ASTNotEq.getValueBody(ASTNotEq.java:53) 
	at org.apache.ibatis.ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:212) 
	at org.apache.ibatis.ognl.SimpleNode.getValue(SimpleNode.java:258) 
	at org.apache.ibatis.ognl.ASTAnd.getValueBody(ASTAnd.java:61) 
	at org.apache.ibatis.ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:212) 
	at org.apache.ibatis.ognl.SimpleNode.getValue(SimpleNode.java:258) 
	at org.apache.ibatis.ognl.Ognl.getValue(Ognl.java:494) 
	at org.apache.ibatis.ognl.Ognl.getValue(Ognl.java:458) 
	at org.apache.ibatis.scripting.xmltags.OgnlCache.getValue(OgnlCache.java:44) 
	at org.apache.ibatis.scripting.xmltags.ExpressionEvaluator.evaluateBoolean(ExpressionEvaluator.java:32) 
	at org.apache.ibatis.scripting.xmltags.IfSqlNode.apply(IfSqlNode.java:34) 
	at org.apache.ibatis.scripting.xmltags.MixedSqlNode.apply(MixedSqlNode.java:33) 
	at org.apache.ibatis.scripting.xmltags.TrimSqlNode.apply(TrimSqlNode.java:55) 
	at org.apache.ibatis.scripting.xmltags.MixedSqlNode.apply(MixedSqlNode.java:33) 
	at org.apache.ibatis.scripting.xmltags.DynamicSqlSource.getBoundSql(DynamicSqlSource.java:41) 
	at org.apache.ibatis.mapping.MappedStatement.getBoundSql(MappedStatement.java:280) 
	at org.apache.ibatis.executor.statement.BaseStatementHandler.<init>(BaseStatementHandler.java:64) 
	at org.apache.ibatis.executor.statement.PreparedStatementHandler.<init>(PreparedStatementHandler.java:39) 
	at org.apache.ibatis.executor.statement.RoutingStatementHandler.<init>(RoutingStatementHandler.java:45) 
	at org.apache.ibatis.session.Configuration.newStatementHandler(Configuration.java:488) 
	at org.apache.ibatis.executor.SimpleExecutor.doUpdate(SimpleExecutor.java:47) 
	at org.apache.ibatis.executor.BaseExecutor.update(BaseExecutor.java:115) 
	at org.apache.ibatis.executor.CachingExecutor.update(CachingExecutor.java:75) 
	at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:170) 
	... 46 more



发布评论
IT序号网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!

mybatis类型匹配错误导致数据源切换失败知识解答
你是第一个吃螃蟹的人
发表评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。