双引号”直接连接
<select id="getUsersByName" parameterType="string" resultType="com.buaa.mybatis.po.User">
SELECT * FROM USER WHERE username LIKE "%"#{name}"%"
</select>
评价:best。
利用MySQL内置函数CONCAT()
<select id="getUsersByName" parameterType="string" resultType="com.buaa.mybatis.po.User">
SELECT * FROM USER WHERE username LIKE CONCAT('%',#{name},'%')
</select>
评价:推荐。
利用连接符${}
<select id="getUsersByName" parameterType="string" resultType="com.buaa.mybatis.po.User">
SELECT * FROM USER WHERE username username LIKE '%${value}%'
</select>
评价:不推荐。存在SQL注入的风险。
直接在代码中添加“%”
getUsersByName("%"+username+"%");
评价:不推荐。MyBatis框架的意义就在于减少硬编码,这样做是南辕北辙。