最近用到了mybatis,对数据库进行处理,遇到了一个问题,The error occurred while setting parameters,后来发现问题的原因是,在写sql语句的时候,少加了一个and的问题。在使用mybatis还应该注意:
(1)检查sql语句,最好的检查方法就是将sql语句复制到查询器中执行下
(2)检查Mapper接口,参数名一定对应
(3)检查字段是否出现sql关键字,例如order,因为在sql中是关键字,所以不能使用
<select id="selectAdminSnackLimit" resultMap="BaseResultMap" parameterType="map">
select * from orderinfo o
<where>
<if test="sType != null and sType != '' ">
o.s_type = #{sType}
</if>
<if test="sQdate != null and sQdate != '' ">
and o.s_qDate = #{sQdate}
</if>
<if test="sName != null and sName != '' ">
and o.s_name like "%"#{sName}"%"
</if>
<if test="startDate !=null and startDate !='' ">
<![CDATA[AND o.s_createdate >= #{startDate} ]]>
</if>
<if test="endDate !=null and endDate !='' ">
<![CDATA[AND o.s_createdate <= #{endDate} ]]>
</if>
</where>
ORDER BY o.s_createdate DESC
LIMIT #{pageStart},#{pageSize}
</select>