在MyBatis中,可以使用動態(tài)SQL和參數(shù)化查詢來避免SQL注入攻擊。
例如,在Mapper XML文件中可以這樣使用動態(tài)SQL:
<select id="getUserByName" parameterType="String" resultType="User">
SELECT * FROM user
<where>
<if test="name != null">
AND name = #{name}
</if>
</where>
</select>
#{}
來指定參數(shù),MyBatis會將參數(shù)值以安全的方式插入SQL語句中,避免SQL注入攻擊。例如,在Mapper XML文件中可以這樣使用參數(shù)化查詢:
<select id="getUserByName" parameterType="String" resultType="User">
SELECT * FROM user
WHERE name = #{name}
</select>
通過使用動態(tài)SQL和參數(shù)化查詢,可以有效地避免SQL注入攻擊。同時,建議在輸入?yún)?shù)之前進行驗證和過濾,確保輸入的數(shù)據(jù)符合預期的格式和范圍。