方式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 <if test="age != null and age != '' and compare != null and compare != ''"> <if test="name != null and name != ''"> AND name LIKE #{pattern1} <if test="address != null and address != ''"> AND address LIKE #{pattern2}
方式5:java代码里写 param.setUsername("%CD%"); 在 java 代码中传参的时候直接写上 <if test="username!=null"> AND username LIKE #{username}</if>
然后 mapper 里面直接写 #{} 就可以了
|
请发表评论