您的位置:宽带测速网 > 网络知识 > mybatis模糊查询如何防止sql注入

mybatis模糊查询如何防止sql注入

2025-06-17 10:09来源:互联网 [ ]

mybatis模糊查询防止sql注入的方法:

bind + #{}模糊查询可以防止SQL注入,bind元素可以从OGNL表达式中创建一个变量并将其绑定到上下文,例如:

<selectid="selectBlogsLike"resultType="Blog">

<bindname="pattern"value="'%'+_parameter.getTitle()+'%'"/>

SELECT*FROMBLOG

WHEREtitleLIKE#{pattern}

</select>

sql:

<selectid="getInfo"resultType="cn.xm.exam.bean.haul.Haulinfo"

parameterType="hashmap">

SELECT*FROMhaulinfo

<where>

<iftest="name!=null">

<bindname="names"value="'%'+name+'%'"/>

andbignamelike#{names}

</if>

<iftest="status!=null">

andbigStatus=#{status}

</if>

</where>

</select>

java测试方法:

@Test

publicvoidtest1()throwsSQLException{

Mapcondition=newHashMap();

condition.put("name","%'andbigdescriptionlike'阳城");

condition.put("status","未开始");

testMapper.getInfo(condition);

}