1. 程式人生 > >Mybatis異常報告

Mybatis異常報告

1. Mapped Statements collection already contains value for :statement 重複異常

java.lang.IllegalArgumentException: Mapped Statements collection already contains value for xin.amx50b.dao.ServiceStaffMapper.selectByServicesStatus

出現原因
1. 配置mapper時出現id重複了
2. 配置mapper時mapper中的parameterType或resultType為空

1. There is no getter for property named ‘service_type’ in ‘class xin.amx50b.entity.Combo’

nested exception is org.apache.ibatis.reflection.ReflectionException: There is no getter for property named 'service_type' in 'class xin.amx50b.entity.Combo'

出現場景
在對一個物件做一對一關係的物件封裝後插入資料時出現
排查過程


1. 因為異常寫明瞭‘service_type’欄位沒有getter(如果自己沒呼叫過一般就是配置檔案中的問題)
2. 但是我已經將它封裝成物件了換成‘serviceType‘,而且我是自動生成的,如果不是命名問題一般是不會出現問題的。
3. 由此可以判斷應該是xml中還有哪裡原來呼叫‘service_type’沒有改成‘serviceType‘。
4. 果然在 <if test="service_type != null" > 等條件判斷的地方沒有該名字。
警示:在對一個欄位進行物件封裝時如果不是欄位詞不達意最好是不要去修改,給自己帶來不必要的麻煩。