mybatis 模糊查询 like a and like b怎么写?

MySQL数据库上,mybatis 如果模糊查询,两个条件怎么写?请指点一下。
一个条件的模糊查询,测试通过:WHERE STORE_SALE.PRODUCT_NAME LIKE '%'||#{product_name}||'%'
2个条件 WHERE STORE_SALE.PRODUCT_NAME LIKE '%'||#{product_name}||'%'
AND STORE_SALE.CUSTOMER LIKE '%'||#{customer}||'%' 测试结果为全部查询,即where 条件无效
哪位知道该怎么写? 3Q

用instr是正解,如果要按你自己的写法,可以改成:
WHERE STORE_SALE.PRODUCT_NAME LIKE '%${product_name}%'
AND STORE_SALE.CUSTOMER LIKE '%${customer}%'

没觉得有啥问题,你还是配置下log4j看下输出的sql是啥样吧

[code="java"]
like查询其实和其他的差不多,刚刚在本地测试这样两个like是可以查询的
你自己在看看你是否写错的了
resultType="Blog">
SELECT * FROM BLOG WHERE state = ‘ACTIVE’

AND title like #{title}


AND author_name like #{author.name}


[/code]

看你写的where语句没啥问题。
查询语句有链接符的一般用于oracle数据库,你换成
WHERE customer like CONCAT('%', #customer#, '%') 形式做两个条件查询试试。

WHERE INSTR(STORE_SALE.PRODUCT_NAME,#{product_name})>0
AND INSTR(STORE_SALE.CUSTOMER ,#{customer})>0

用instr函数进行模糊查询比like效率要高很高,推荐你使用instr函数

例如 select * from user where instr(name,'张三')>0 意思就是查询user表中name字段所有带张三的名字

WHERE STORE_SALE.PRODUCT_NAME like CONCAT('%',#roleName1#,'%') AND STORE_SALE.PRODUCT_NAME like CONCAT('%',#roleName2#,'%')