mybatis where string with string参数不起作用

时间:2016-02-11 16:36:15

标签: sql-update mybatis

当我在where condition中传递字符串参数时,

my(mybatis 3.2.8)更新查询无法正常工作。如果我硬编码并设置STTS =' COMPLETE '它就有效。我尝试记录SQL查询,正确显示参数。

UPDATE CUST SET LAST_UPDT_DT=#{lastUpdtd,javaType=Date,jdbcType=DATE}
WHERE CUST_NUM=#{custNum,javaType=int,jdbcType=INTEGER} 
AND STATUS=#{status,javaType=String,jdbcType=VARCHAR2}

没有错误,它运行更新查询并正常提交,但它并没有真正更新表。如果mybatis中的字符串参数有任何问题,请告诉我。

1 个答案:

答案 0 :(得分:1)

在jdbcType枚举中没有VARCHAR2,你可以在这里查看jdbcType: JdbcType

您可以更改最后一行:

AND STATUS=#{status,javaType=String,jdbcType=VARCHAR2}

To(或适合您的dataType的右侧jdbc类型):

AND STATUS=#{status,javaType=String,jdbcType=VARCHAR}