1.对于 byte int等pojo中属性判断的时候
注意不可以是这种情况,newsNature 如果是0就会导致无法更新
<if test="newsNature != null and newsNature != ''"> and news_nature = #{newsNature} </if>
必须修改成以下判断
<if test="newsType != null"> and news_type = #{newsType} </if>
2. 单个的字符要写到双引号里面才行,改为<if test='takeWay == "1"'>或者改为<if test="takeWay == '1'.toString() ">
原因是:mybatis是用OGNL表达式来解析的,在OGNL的表达式中,’1’会被解析成字符,Java是强类型的,char 和 一个string 会导致不等,所以if标签中的sql不会被解析。
总结下使用方法:单个的字符要写到双引号里面或者使用.toString()才行!