`

关于sql where条件中in传值大于1000的解决办法

 
阅读更多

虾米链接: http://2814704901.iteye.com/blog/1934564

大家都知道 sql where条件中in的参数 最大为1000  如果我们要传一个大于1000的值 显然是不可行的
这里 我们可以以十为组 来传参。
List<String> urls=new ArrayList<String>();

这里urls的大小是10000

//存储10条记录List

List<String> list=new ArrayList<String>();

int num=0;//检索到的URL集合的大小

int yu=0;//获取余数

num=urls.size();

yu=num%pageSize;

//pageTotal总页数

pageTotal = num / pageSize;

if (num % pageSize > 0){

pageTotal++;

}

if(urls.size()>0){

if(pageNo<pageTotal){

//如果当前页面小于最大页数

for(int i=(pageNo-1)*10;i<=(pageNo*10-1);i++){

list.add(urls.get(i));

}

}else{

//如果当前页面大于或等于最大页数

if(yu>0){

//如果余数大于零

for(int i=(pageNo-1)*10;i<((pageNo-1)*10+yu);i++){

list.add(urls.get(i));

}

}else{

for(int i=(pageNo-1)*10;i<pageNo*10;i++){

list.add(urls.get(i));

}

}

}

//我们只显示一页的内容 条数为10条  页码为1 

infoList=this.RgiService.searchTBIfo(10, 1, list, startTime, endTime, resource);

total=urls.size();

在你Action继承的基类中 pageSize一页中的条数以及pageNo页数 均要有get()和set()  

其中pageNo在jsp显示的 【下一页】、【最后一页】、【上一页】、【首页】的实现是在基类中实现的
和Action方法就没有关系了  我们用10和1取代了pageSize和pageNo

注意:如果查询条件in中参数值过长 如:参数是网页地址  这样查询起来会很慢 
           我们可以通过获取没一个网页地址对应的唯一ID(NUMBER类型) 来查询 
           这样 原本10s才能解决的问题 只需要2s了
          不过多了10次查询,对查询也是有影响的。

分享到:
评论

相关推荐

    SQL WHERE 条件解析器

    在实际应用中,`SQL WHERE 条件解析器`通常与前端界面结合,用户可以通过界面上的控件设置查询条件,后端服务接收到这些条件后,通过解析器生成相应的SQL查询,从而返回符合用户需求的数据。 总结来说,`SQL WHERE ...

    oracle sql in 连接大于1000报错解决办法

    oracle sq 使用l in 连接大于1000情况下报错解决办法。

    Golang sqlx 使用sql语句 Where in 解决办法

    方法1、使用语言的for语句循环生成SQL语句中的“?”,类似这样: 新建方法 func placeholders(n int) string { var b strings.Builder for i := 0; i 0 { b.WriteString("?") } return b.String() }  调用...

    SQL存储过程IN参数的解决办法

    ### SQL存储过程IN参数的解决办法 #### 方法一:使用临时表进行参数处理 此方法主要利用了SQL Server中的临时表来实现对多个输入参数的处理。具体步骤如下: 1. **定义变量**:首先定义了一个`nvarchar(200)`类型...

    sqlserver的存储过程与 where in 多值参数

    本文将探讨在SQL Server中,存储过程与`WHERE IN`子句结合使用时,处理多值参数的几种方法。 **方法一:拼接SQL字符串并调用`EXEC`** 这是最简单也是最直观的方法。你可以在存储过程中接收一个包含多个值的参数,...

    SQL中in参数化的用法

    在 SQL 中,对于 IN 操作符的使用是非常常见的,特别是在 WHERE 子句中规定多个值时。如:select * from A where ID in (1,2,3,4)。但是在实际开发中,我们不可避免地需要处理大量的数据,传统的方法是直接将参数...

    Sql Server参数化查询之where in和like实现详解

    Sql Server参数化查询之where in和like实现详解 在Sql Server中,参数化查询是提高查询性能和防止SQL注入攻击的有效方法之一。其中,where in和like是两个常用的查询条件,然而它们的参数化实现却不是那么简单。...

    Oracle查询处理in条件超过1000条

    Oracle查询处理in条件超过1000条的2种后台处理方式:A,后台拼接查询条件;B,每1000条查询一次,最后返回查询结果;

    SQL中on条件与where条件的区别

    SQL中on条件与where条件的区别基础知识

    SQL Where的简单判断

    而WHERE子句则是SQL查询中最常用的部分之一,用于过滤结果集,只返回满足特定条件的数据行。 ### SQL WHERE 子句简介 WHERE子句是SQL SELECT语句的一个关键组成部分,用于指定哪些行应该被选择。其基本语法如下: ...

    Oracle SQL in 超过1000的解决方案list

    oracle中如果非要用in作为条件的话,超过1000条可以用col in() or col in()的方式来处理

    SQL SERVER数据导出工具可以根据WHERE条件导出数据

    SQL SERVER数据导出工具SQL SERVER数据导出工具SQL SERVER数据导出工具SQL SERVER数据导出工具SQL SERVER数据导出工具SQL SERVER数据导出工具SQL SERVER数据导出工具

    基于jquery js自定义sql条件查询

    用户自己定义动态组织sql查询条件,对于用户来说相当方便的啦。可以自由选择查询字段、条件条件、条件值,选择与或关系,包括括号优先的使用。根据查询字段不同,查询条件值的动态改变,如日期控件、下拉框、可输入...

    java调用shell向DataX传参,带where条件,特殊字符

    然后,关于DataX参数的传递,DataX任务通常通过JSON配置文件来定义,例如`etl_job_oracle2postgresql_sqlwhere_full.json`。在这个文件中,你可以定义源数据库、目标数据库以及数据过滤条件(where子句)。在涉及...

    SQL 语句中 where 条件后 写上 1=1 是什么意思!.doc

    SQL 语句中 where 条件后 写上 1=1 是什么意思!.doc

    winform树状动态生成SQL无限级where条件语句控件,动态条件

    winform下实现的一个动态无限级的自定义添加SQLwhere条件的控件,显示外观是树状列表,只要你给这控件设置好哪几个字段可以用来拼where,那么运行起来后你可以动态的无限级的添加子and/or等等条件拼接,可以支持生成...

    SQL 2008 R2 版本的参数必须大于0.参数名:build

    在SQL Server 2008 R2的安装或更新过程中,可能会遇到一个常见的错误提示:“版本参数必须大于等于0。参数名:build”。这个错误通常表明在执行安装或升级脚本时,输入的构建版本号(build number)不正确或者没有...

    Excel数据库SQL多条件查询.

    此外,SQL还支持更复杂的条件组合,如嵌套的WHERE子句,以及使用IN、BETWEEN等操作符。例如,我们可以查询价格在某个范围内的花木: ```sql SELECT * FROM 园林工程花木种类查询表 WHERE 价格 BETWEEN 100 AND 500;...

    SQL语句之条件查询-WHERE(where).docx

    在SQL查询中,`WHERE`子句是至关重要的部分,它允许我们根据特定的条件过滤结果集。在本文中,我们将深入探讨`WHERE`子句的使用,包括条件表达式筛选、逻辑表达式筛选以及模糊查询等不同类型的筛选方法。 首先,让...

    pandas 像SQL一样使用WHERE IN查询条件说明

    WHERE IN查询是SQL中的一个常用条件,用于选取符合特定值列表的行。在pandas中,可以使用相同的思想来筛选DataFrame中的数据。假设我们有一个DataFrame `newDB`,并且想要选取`groupId`列中值为`newDropList`列表中...

Global site tag (gtag.js) - Google Analytics