MyBatis实现模糊查询的三种方式

1.使用sql中的字符串拼接函数

<mapper namespace="com.lanou.book.mapper.BookMapper">
  <select id="getBook" parameterType="Book" resultType="Book">
   select 
   		bookid,bookname,bookimg 
   	from
   		 bookinfo
   	<where>
   		<if test="bookname != null">
   			and bookname like concat('%',#{bookname},'%')
   		</if>
   	</where>
  </select>
</mapper>

2.使用”%”#{bookname}”%”

<mapper namespace="com.lanou.book.mapper.BookMapper">
  <select id="getBook" parameterType="Book" resultType="Book">
   select 
   		bookid,bookname,bookimg 
   	from
   		 bookinfo
   	<where>
   		<if test="bookname != null">
   			and bookname like "%"#{bookname}"%"
   		</if>
   	</where>
  </select>
</mapper>

3.1.用${bookname}(不推荐,因为$不能有效防止SQL注入)

<mapper namespace="com.lanou.book.mapper.BookMapper">
  <select id="getBook" parameterType="Book" resultType="Book">
   select 
   		bookid,bookname,bookimg 
   	from
   		 bookinfo
   	<where>
   		<if test="bookname != null">
   			and bookname like '%${bookname}%'
   		</if>
   	</where>
  </select>
</mapper>

猜你喜欢

转载自blog.csdn.net/qq_42651904/article/details/82784474