1. <!--
  2. 优化后的模糊查询
  3. List<Users> getLikeByName(String name);
  4. -->
  5. <select id="getLikeByName" parameterType="string" resultType="users">
  6. -- concat()这个函数本来就是字符串拼接的函数,取值是用#{}来取
  7. select * from users where username like concat('%',#{name},'%')
  8. </select>

@Param的使用

如果参数超过一个,则**parameterType**不写

<!--
//模糊用户名和地址查询
//如果参数超过一个,则parameterType不写
List<Users> getByNameOrAddress(String columnName,String columnValue)
-->
<select id="getLikeByName" resultType="users">
    select * from users where columnName like concat('%',#{值columnValue},'%')
</select>

但是我就想要columnNamecolumnValue

可以

List<Users> getByNameOrAddress(@Param("columnName") String columnName,@Param("columnValue") String columnValue)

那我们要这么改

<!--
//模糊用户名和地址查询
//如果参数超过一个,则parameterType不写
List<Users> getByNameOrAddress(String columnName,String columnValue)
-->
<select id="getLikeByName" resultType="users">
    select * from users where ${注解名columnName} like concat('%',#{值columnValue},'%')
</select>