java 避免不同库使用left join查询速率低效 采用 sql 注入foreach 遍历list查询方式

java 避免不同库使用left join查询速率低效 采用 sql 注入foreach 遍历list查询方式

(1)前端接受回用“,”拼接起来的字符串 String select_copy_ids

 List<Integer> copyIds = DBUtil.getParamIntList(select_copy_ids);
                List<Integer> roleIds = new ArrayList<Integer>();
                List<DrillingRoleModel> copyRoleModels = drillingModelService.listDrillingRoleModelCopyById(copyIds);


(2)将带“,”拼接字符串 装换为List
 public static List<Integer> getParamIntList(String value) throws Exception {
        List<Integer> returnList = new ArrayList<Integer>();
        if (StringUtils.isBlank(value)) {
            return returnList;
        } else {
            try {
                String[] idsStr = value.split(ConstUtil.SPLIT_DH);
                for (String id : idsStr) {
                    returnList.add(Integer.parseInt(id));
                }
            } catch (Exception e) {
                throw new Exception("处理提交请求参数:Int List类型异常,转换值value=" + value);
            }
            return returnList;
        }
    }

(3)数据库xml配置

<select id="listDrillingRoleModelCopyById" resultType="com.baofoo.admin.entity.data.drilling.DrillingRoleModel">
		SELECT * FROM BAOFOO_ADMIN.drilling_role_model WHERE id IN (
		<foreach collection="list" item="item" index="index" separator=",">
			#{item}
		</foreach>
		)
	</select>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值