带引号的字符串类型的整型数组“[2,3,4]“。转为[2,3,4]数组。最后转为“2、3、4”

查询出来返回map,进行mp的解析即可

<select id="getAllCreateDramaRole" parameterType="String" resultType="java.util.Map">
        select t.style_id,t.id,t.name,t.image,t.is_rm,t.type,case t.type when 0 then '沉浸式' else '娱乐式' end type_name,CONCAT(t.number,'人')number,concat(t.all_time,'分钟') all_time,
        t.remark,t.price,t.flag,t.ndfs,t.shangjia,t.bohui,t.tijiao,t.tijiaos,
        (SELECT w.dict_label FROM `sys_dict_data` w where  dict_code=t.level ) level_name,
        (SELECT w.dict_label FROM `sys_dict_data` w where  dict_code=t.player_level ) player_level_name
        from ktv_dramas t
        <where>
            t.create_drama=1
            <if test="name != '' and name != null">and t.name like concat ('%',#{name},'%')</if>
            <if test="shangjia != '' and shangjia != null">and t.shangjia #{shangjia}</if>
            <if test="bohui != '' and bohui != null">and t.bohui =#{bohui}</if>
            <if test="tijiao != '' and tijiao != null">and t.tijiao=#{tijiao}</if>
            <if test="flag != '' and flag != null">and t.flag=#{flag}</if>
            <if test="tijiaos != '' and tijiaos != null">and t.tijiaos=#{tijiaos}</if>
        </where>
    </select>

查询数组遍历直接出集合

<select id="selectstylee" resultType="java.lang.String" parameterType="arraylist">
                 SELECT name FROM `ktv_style`  where id in
                <foreach item="id" collection="array" open="(" separator="," close=")">
                    #{id}
                </foreach>

    </select>

根据集合进行解析

List<Map> li =dramasMapper.getAllCreateDramaRole(name, tijiao, bohui, shangjia, flag, tijiaos);
        if (li.size()>0){
            for (Map map : li) {
                String style_id = map.get("style_id").toString();//获取map的String值"[2,3,4]"
                //String[] split = style_id.split(",");
                String substring = style_id.substring(1, style_id.length() - 1);//把[2,3,4]外的引号去掉
                String[] split = substring.split(",");//根据逗号进行切分出String数组
                int[] array = Arrays.stream(split).mapToInt(Integer::parseInt).toArray();//String值类型的数组,转换类型为int类型的数组
                System.out.println("style"+array);
                List<String> selectstylee = dramasMapper.selectstylee(array);//拿着int类型的数组查询集合
                String join = StringUtils.join(selectstylee.toArray(), "、");//把集合转为顿号隔开的string字符串。
                map.put("style_name",join);

            }
        }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值