方式1:$ 这种方式,简单,但是无法防止SQL注入,所以不推荐使用
LIKE %${name}%
方式2:#
LIKE “%”#{name}”%”
有兴趣的可以看一下:Mybatis 中#{} 和${}区别
方式3:字符串拼接
AND name LIKE CONCAT(CONCAT(%,#{name},%))
方式4:bind标签
- <select id="searchStudents" resultType="com.example.entity.StudentEntity"
- parameterType="com.example.entity.StudentEntity">
- <bind name="pattern1" value="% + _parameter.name + %" />
- <bind name="pattern2" value="% + _parameter.address + %" />
- SELECT * FROM test_student
- <where>
- <if test="age != null and age != and compare != null and compare != ">
- age
- ${compare}
- #{age}
- </if>
- <if test="name != null and name != ">
- AND name LIKE #{pattern1}
- </if>
- <if test="address != null and address != ">
- AND address LIKE #{pattern2}
- </if>
- </where>
- ORDER BY id
- </select>
方式5:java代码里写
param.setUsername(“%CD%”); 在 java 代码中传参的时候直接写上
<if test="username!=null"> AND username LIKE #{username}</if>
然后 mapper 里面直接写 #{} 就可以了
作者:admin,如若转载,请注明出处:https://www.web176.com/mybatis/12530.html