sql 根据关键字查询的两种写法:
-- 方法一:
SELECT * FROM user(表名) WHERE id=1
AND CONCAT(
IFNULL(`name`, ''),//姓名
IFNULL(`parent`, ''),//家长
IFNULL(`address`, ''),//住址
IFNULL(`remark`, '')//备注
) LIKE CONCAT('%', '江', '%');//关键字
-- 方法二:
SELECT * FROM user(表名) WHERE id=1
AND name LIKE CONCAT('%', '江', '%')
OR parent LIKE CONCAT('%', '江', '%')
OR address LIKE CONCAT('%', '江', '%')
OR remark LIKE CONCAT('%', '江', '%')
sql语句用 mybatis 在xml映射文件的两种写法:
<!--对应方法一:-->
<select id="getlist" resultMap="UserResult">
SELECT * FROM user WHERE id=#{id}
<if test="keyword !=null and keyword !=''">
AND CONCAT(
IFNULL(`name`, ''),
IFNULL(`parent`, ''),
IFNULL(`address`, ''),
IFNULL(`remark`, '')
) LIKE CONCAT('%', #{keyword}, '%')
</if>
</select>
<!--对应方法二:-->
<select id="getlist" resultMap="UserResult">
SELECT * FROM user WHERE id=#{id}
<if test="keyword !=null and keyword !=''">
and name like concat('%',#{ keyword},'%')
or parent like concat('%',#{ keyword},'%')
or address like concat('%',#{ keyword},'%')
or remark like concat('%',#{ keyword},'%')
</if>
</select>