Mybatis 模糊查询和精确查询

一 模糊查询

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>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章