標籤:
今天在使用mybatis處理資料庫的時候,突然拋出了上述異常,讓我感到很驚訝,因為在處理save的時候,在Mybatis的設定檔中,我根本就沒有使用到ognl運算式,系統怎麼會拋出上述異常。而且之前也是這麼使用的,也沒見拋出上述異常。然後查看操作資料庫的Mybatis的設定檔,倒是找到了幾個錯誤,但是都不是引起這個異常的原因。然後,再仔細查看這個設定檔,突然之間,發現了,在該設定檔:
<!-- save --><insert id="save"> insert into qa_sampling(s_id , s_mil_id , s_samplingPackage , s_samplingWeight , s_samplingPerson_id , s_samplingCardFill , s_samplingDate , s_createTime) values(#{s_id} , ${s_mil.mil_id} , #{s_samplingPackage} , #{s_samplingWeight} , #{s_samplingPerson.u_id} , #{s_samplingCardFill} , #{s_samplingDate} , #{s_createTime})</insert>
${s_mil.mil_id} , 這一處,居然是使用$,難怪系統將其作為運算式進行解析,將其修改成”#”之後,一切OK,上述異常成功解決。現,貼出正確的寫法:
<!-- save --><insert id="save"> insert into qa_sampling(s_id , s_mil_id , s_samplingPackage , s_samplingWeight , s_samplingPerson_id , s_samplingCardFill , s_samplingDate , s_createTime) values(#{s_id} , #{s_mil.mil_id} , #{s_samplingPackage} , #{s_samplingWeight} , #{s_samplingPerson.u_id} , #{s_samplingCardFill} , #{s_samplingDate} , #{s_createTime})</insert>
Caused by: org.apache.ibatis.ognl.OgnlException: source is null for getProperty(null, "mil_id")