今天在使用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>
时间: 2024-10-13 11:29:34