ibatis分号隔开的数字字符串要取期中的每一个数字
现在ibatis中有一个多值查询,bussin#参数#,其中buss是数字类型,但是传入的值是“1;2;3;4;”字符串,我该怎么写代码实现bussin(1,2,3,4)...
现在ibatis中有一个多值查询,buss in #参数#,其中buss是数字类型,但是传入的值是“1;2;3;4;”字符串,我该怎么写代码实现buss in (1,2,3,4)。其中参数为param其长度也不固定,现在就是在ibatis中该怎样写SQL语句将字符串中的数字取出并变成数字类型??求大神指点啊!!
展开
推荐于2016-03-10
展开全部
楼主,通过List传递
List封装IN
public List<XXXBean> getXXXBeanList(List<String> list);
<select id="getXXXBeanList" resultType="XXBean">
select 字段... from XXX where id in
<foreach item="item" index="index" collection="list"
open="(" separator="," close=")">
#{item}
</foreach>
</select>
foreach 最后的效果是select 字段... from XXX where id in ('1','2','3','4')
List封装IN
public List<XXXBean> getXXXBeanList(List<String> list);
<select id="getXXXBeanList" resultType="XXBean">
select 字段... from XXX where id in
<foreach item="item" index="index" collection="list"
open="(" separator="," close=")">
#{item}
</foreach>
</select>
foreach 最后的效果是select 字段... from XXX where id in ('1','2','3','4')
追问
找到解决办法了,只要用REGEXP_SUBSTR将字符串转化为数组,不过还是谢谢你的耐心回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询