使用ibatis的like查询,参数是一个数组,该如何写sql
假设sql如下:select*fromtable_awhererelatedCatlike'%001%'orrelatedCatlike'%002%'relatedCat...
假设sql如下:
select * from table_a where relatedCat like '%001%' or relatedCat like '%002%'
relatedCat存储的是某个关键词的相关目录,多个目录间用逗号分隔,例如‘001,002,003’ 展开
select * from table_a where relatedCat like '%001%' or relatedCat like '%002%'
relatedCat存储的是某个关键词的相关目录,多个目录间用逗号分隔,例如‘001,002,003’ 展开
3个回答
2015-05-11
展开全部
可以用foreach
select * from table_a where
<foreach collection="数组参数名称" index="index" item="item" open="(" separator="or" close=")">
relatedCat like '%'||#{item}||'%'
</foreach>
select * from table_a where
<foreach collection="数组参数名称" index="index" item="item" open="(" separator="or" close=")">
relatedCat like '%'||#{item}||'%'
</foreach>
追问
这个是Myibatis才能用吧
追答
ibatis里面应该是这个iterate
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2015-05-11
展开全部
select * from table_a where ','+relatedCat +',' like '%,001,%'。若传参数是不确定的一个数组,可以先拆分,根据数量把where 后面的语句写成一个循环添加的过程。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用or或and连接where条件啊,将数组拆分
追问
用得ibatis,不知道iterate怎么用合适
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询