一 模糊查询
sql语法: like concat()
概念:
concat: 可以连接一个或者多个字符串,若其中一个为null,则返回null
用concat(org1,org2,…)将 %与 #{name}与连接在一起,避免将sql中%放到java代码中
语法:
mysql中是不支持concat(’%‘,结果集,’%‘)这种语法的,
但是支持concat(’%‘,字段,’%‘)
举例:
(1) sql
SELECT * FROM User
WHERE username LIKE CONCAT('%',#{username}),'%')
(2) mybatis
SELECT * FROM User
WHERE 1 = 1
<if test="keyword!= null and keyword != '' ">
AND username LIKE CONCAT('%',CONVERT(#{keyword} USING utf8),'%')
</if>
二 精确查询: 使用等于号=
(1) sql
SELECT * FROM User
WHERE username = #{username})
(2) mybatis
SELECT * FROM User
WHERE 1 = 1
<if test="keyword != null and keyword != '' ">
AND username = #{username}
</if>