最近用到了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>