java 项目中 oracle in 使用的注意事项
2014-07-28 09:18
369 查看
oracle 中 in 的一般用法在这里无需我过多赘述,但需要注意的是 oracle 的sql 语句中 使用in 里面 不能超过 1000 项,否则报错,这里我给出一个解决办法:
假如 parentCommentList 存放的是 in 里面的项,
sqlParam2 存放的是 sql 语句,
sqlValue2 存放的是值,
List<String> sqlParam2 = new ArrayList<String>();
List<Object> sqlValue2 = new ArrayList<Object>();
if( parentCommentList!=null && parentCommentList.size()>0){
sqlParam2.add(" AND T.OBJID IN ( ");
for(int i=0;i< parentCommentList.size();i++){
if(i%1000==0){
sqlParam2.add(" ? ");
sqlValue2.add( parentCommentList.get(i).getId());
}else{
sqlParam2.add(" ,? ");
sqlValue2.add( parentCommentList.get(i).getId());
}
if(((i+1)%1000==0)&&((i+1)<parentCommentList.size())){
sqlParam2.add(" ) OR T.OBJID IN ( ");
}
}
sqlParam2.add(" ) ");
SQLUtil util2 = new SQLUtil(QUERY_TUPIAN);// sql 工具类,这个是自定义的 , 其中 QUERY_TUPIAN 是SQL语句
util2.addParam(sqlParam2);
List<TuPian> imgList= this.dao.findBySqlList(util2.getSql(),TuPian.class,sqlValue2.toArray());
在上面的例子当中 ,我 拼接的 是 QUERY_TUPIAN 语句 where 条件后面的部分 ,很简单。。。呵呵
假如 parentCommentList 存放的是 in 里面的项,
sqlParam2 存放的是 sql 语句,
sqlValue2 存放的是值,
List<String> sqlParam2 = new ArrayList<String>();
List<Object> sqlValue2 = new ArrayList<Object>();
if( parentCommentList!=null && parentCommentList.size()>0){
sqlParam2.add(" AND T.OBJID IN ( ");
for(int i=0;i< parentCommentList.size();i++){
if(i%1000==0){
sqlParam2.add(" ? ");
sqlValue2.add( parentCommentList.get(i).getId());
}else{
sqlParam2.add(" ,? ");
sqlValue2.add( parentCommentList.get(i).getId());
}
if(((i+1)%1000==0)&&((i+1)<parentCommentList.size())){
sqlParam2.add(" ) OR T.OBJID IN ( ");
}
}
sqlParam2.add(" ) ");
SQLUtil util2 = new SQLUtil(QUERY_TUPIAN);// sql 工具类,这个是自定义的 , 其中 QUERY_TUPIAN 是SQL语句
util2.addParam(sqlParam2);
List<TuPian> imgList= this.dao.findBySqlList(util2.getSql(),TuPian.class,sqlValue2.toArray());
在上面的例子当中 ,我 拼接的 是 QUERY_TUPIAN 语句 where 条件后面的部分 ,很简单。。。呵呵
相关文章推荐
- 关于打包自定义标签,并导入项目使用时,出现java.lang.NoClassDefFoundError: JspException异常,解决方法和注意事项!
- java io (五) OutputStream 与 Writer类 使用注意事项
- 使用JAVA编写报文接收端的注意事项
- Android使用Java的第三方jar注意事项
- java.util.List接口的方法subList()的使用注意事项
- java中ArrayList使用remove注意事项
- Java基础:String类之常用方法及使用注意事项
- Java类集 _Map 接口的使用注意事项
- Java 中使用JDBC连接数据库例程与注意事项
- java的split使用注意事项
- Java中使用MongoDB连接池的注意事项
- Domino使用Java代理的注意事项
- java生成exe工具之exe4j.exe(Java Exe Maker)的使用和注意事项
- Java 中使用JDBC连接数据库例程与注意事项
- Domino使用Java代理的注意事项
- GDAL通过swig,在.net和java下使用注意事项.
- Java路径的分类与使用注意事项
- Domino使用Java代理的注意事项
- 使用EVM进行项目管理时的注意事项
- Java中使用JDBC连接数据库与注意事项