最近研究了一下MyBatis, 在用MyBatis 进行 LIKE模糊查询时语句如下:
1.
<select id="getAllUsersByUserName" parameterType="map" resultType="User">
SELECT u.* FROM User u WHERE u.username LIKE #{username} '%' LIMIT #{start}, #{limit}
</select>
注意: #{username} '%' 这儿有一个空格 如果没有空格 MyBatis会报错
2. 也可以这样写
<select id="getAllUsersByUserName" parameterType="map" resultType="User">
SELECT u.* FROM User u WHERE u.username LIKE CONCAT('${username}','%') LIMIT #{start}, #{limit}
</select>
在MyBatis解释时是这个样子的:
==> Preparing: SELECT u.* FROM User u WHERE u.username LIKE ? '%' LIMIT ?, ?
==> Parameters: J(String), 0(Integer), 5(Integer)
#{param} 被解释为占位符 ?
然后在设置值