mybatis異常集錦

 

【Mybatis】報錯:Malformed OGNL expression: name!= null and name != ' '

【Mybatis】報錯:Malformed OGNL expression: name!= null and name != ' 'html

英文感嘆號和等號之間不能有空格;java

 

nested exception is org.apache.ibatis.binding.BindingException: Parameter

org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.binding.BindingException: Parameter 'productCode' not found. Available parameters are [prdRuleStageEntity, param1]

 

int updatePrdRuleStageEntity(Param("prdRuleStageEntity") PrdRuleStageEntity prdRuleStageEntity);

緣由是mapper不該該有帶 參數的註解。在xml中已經指定了parameter,就不要寫@paramspring

invalid comparison: java.util.Date and java.lang.String

org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException: 
### Error updating database.  Cause: java.lang.IllegalArgumentException: invalid comparison: java.util.Date and java.lang.String
### Cause: java.lang.IllegalArgumentException: invalid comparison: java.util.Date and java.lang.String

原來這是mybatis 3.3.0中對於時間參數進行比較時的一個bug. 若是拿傳入的時間類型參數與空字符串''進行對比判斷則會引起異常. express

<if test="createTime != null and createTime !='' " >
date(create_time) = date(#{createTime,jdbcType=TIMESTAMP})
</if>
改成


<if test="createTime != null">
date(create_time) = date(#{createTime,jdbcType=TIMESTAMP})
</if>

 

mybatis異常invalid comparison: java.util.Date and java.lang.String apache

 

Mybatis報錯:There is no getter for property named 'xxxx' in 'class xxxx

 一來是檢查model中拼寫是否錯誤,二來是檢查映射的map是否正確mybatis

 

解決org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)問題

解決org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)問題app

這是一個很容易忽視的點,記住:接口名與Mybatis的映射文件名必定要如出一轍。

相關文章
相關標籤/搜索