java for循环一个一个查询和全部结果放一个list sql语句用in这list查询 哪个效率高

java for循环一个一个查询和全部结果放一个list里面,然后sql语句通过用in这个list查询 哪个效率高

0

6个回答

看你的数据量,
1、数量小的话2种都没有问题
2、数据量大的话,这2中方式也都不可以用,最好采用游标查询(hibernate/mybatis/或者原生数据库都有提供游标)的方式去查询。
3、如果你非要用in的话,推荐你使用exists。

0
1

影响的因素很多,循环次数,表数据大小,查询效率等,不过值得研究

0

‘java for循环一个一个查询’ 一般不会用 除非数据量非常小,无所谓效率问题。
如果用in的方式查询 也是不好的 但是in毕竟在平时开发中是可以考虑的语法。
所以只能二选一的话就选in。
但是 如果in影响了效率 就要考虑其他方式,其他人也给了些建议,搜一搜就好!!!

0

每次查询一下都需要从连接池中获取连接,结束后连接还回连接池中,这种查询对数据库的压力是很大的。建议不要用这种for循环查询。

-1

如果一定要选其一,建议用in

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
for循环查询数据库,把结果放在集合里面,但是集合的长度却始终为1?
for (int i = 0; i < tell.length; i++) { String sql=""; if(tell[i]=="地址为45号"||tell[i]=="地址为23号"||tell[i]=="地址为31号"||tell[i]=="地址为50号"||tell[i]=="地址为11号"){ sql="S
Java中直接执行sql语句,返回List集合
Java中直接执行sql语句,返回List集合 public static List> getResultToList(String sql, Object... params) { PreparedStatement ps = null; Connection conn = getConnection(); ResultSet rs = null; List> rows =
将普通sql查询的将结果集转换指定的对象,然后对象存在list中并返回
将普通sql查询的将结果集转换指定的对象,然后对象存在list中并返回 /** * Project Name:cusmanage * File Name:UtilQueryObj.java * Package Name:test.util * Date:2017年4月15日下午5:25:03 * Copyright (c) 2017, 8888888@126.com All Rig
jdbc——将查询结果作为list输出
将查询结果输入list中并输出 借用ResultSetMetaData ArrayList list = new ArrayList(); ResultSetMetaData md = resultSet.getMetaData(); int columnCount = md.getColumnCount(); while(resultSet.next()){
数据库连接工具将结果集封装成map或List<Map>
最近做java项目的时候对公司项目的mysql查询框架得到的结果不满意,于是自己就整理了部分资料将数据库查询的结果封装成map或者list。希望对大家和自己有一点帮助 1.获取connection工具类 public final class DBUtil { private final static String driverName = "com.mysql.jdbc.
mysql中查询出的结果为list,转化为一个字段输出
查询结果1条 使用函数  SELECT                GROUP_CONCAT(t1.c_name) AS NAME,                FROM  t1 查询结果多条 函数  SELECT                GROUP_CONCAT(t1.c_name) AS NAME,                FROM  t1              ...
简单比较元组(Set)和列表(List)的查询效率
本试验仅用作简单比较元组(Set)和列表(List)的查询效率: 试验方法:相同元素个数及相同查询元素前提下,比较两个数据结构的查询时间 # 计算程序运行时间,粗略比较List和Set的查询效率 import time # 首先赋值一个空的List,并且取值为1到10000000的整数 l = [] for i in range(1,10000000): l.append(i) #...
jdbc 查询结果集 映射到list
https://hanyu.baidu.com/shici/s?wd=%E5%A4%A9%E6%B4%A5%E8%A5%BF%E9%9D%92%E5%8C%BA%E6%B4%A5%E8%8D%A3%E9%81%93%E6%9C%8D%E5%8A%A1%E7%A1%AE%E5%AE%9E%E6%AD%A3%E5%9C%A8%E5%B0%8F%E5%A6%B9%E5%95%AA%E5%95%AA%E5...
测试Map和List循环查找某个元素的效率
import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; public class TestCollection {     private List int_list;          private Map int_map;
数据库查询结果封装List<Map<String,String>>
今天在做一个报表时犯了个错误,数据库是mysql,有一个字段类型是int型, 我想直接用hibernate框架的query.setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP) 属性把结果转成List<Map<String,String>> 的格式返回action层, 但是当我在action层取出数据库类型为int字段的
在hibernate执行的SQL语句返回的list集合中的内容是Object[]对象,而不是entity对象
现状:在entity类中存在数据库表不存在的字段,这些字段只是做展示,不做在数据库表中进行保存。但是在sql语句查询的时候,出现了:返回的list集合中的内容是Object[]对象,而不是entity对象 代码:pojo代码: // 主键 private String id; // 正确数量 private Integer rightnum; // 酒吧id priv...
mybatis如何将查询出来的sql语句结果返回多条List记录
1.在mapper的映射层,即映射的xml文件中写sql语句,注意resultMap要等于“BaseResultMap”,我在这个地方卡了一个多小时,如果没有这句的话就得不到我想要的效果 2.定义mapper的接口,在写项目时一般是先写接口,然后再添加映射,但是为了方便总结我是从底层开始描述 3.service的实现层进行调用 4.controller层 ...
Sql实现分页和JAVA的List实现分页
Sql实现分页和JAVA的List实现分页示例: select x.*   from (select rownum as rn, a.*           from (select t.jobid,                        t.logid,                        t.kddate,                        t.st...
拼接查询条件为list集合的sql函数
当deptId 为1时 sql语句不做更改 当deptId 为其他数字时 list中的id项作为sql查询条件刚开始编写的时候思路是用or语句进行循环遍历 重复加上or的sql语句来查询 发现比较复杂 最后采取了sql的in函数来实现public String getDeptIdSql(List<Long> deptIdList){ Iterator<Long> it = dept
MySQL中Select语句返回用List来接收
MySQL根据条件查询Select记住,永远用List&amp;lt;&amp;gt;几首返回。对于,确定只有单条记录,一般我的写法为:public int getPayStatusByPayno(OrderInfoRequest orderInfoRequest) { if (orderInfoRequest == null) { throw new DonationException(...
以map接收数据库中查询到的多行结果
以map接收数据库中查询到的多行结果jdbc形式 代码如下: Map&amp;amp;lt;String, Map&amp;amp;lt;String, Object&amp;amp;gt;&amp;amp;gt; map=new HashMap&amp;amp;lt;String, Map&amp;amp;lt;String, Object&amp;amp;gt;&amp;amp;gt;(2048); Connection con = PoolManager.getConnection();; Prepa
mybatis 循环集合查询
数据库语句为:select * from user where('张三' , '李四' , '王五')那么想用mybatis Mapper yentity: 定义一个集合属性作为参数,    private List searchName;dao层:定义一个映射mapper的接口将实体作为参数(入参可随意不一样要实体作为入参)(返回值随意)    searchNameForList(Entity ...
获取从数据库select到的值存到list的数据
1.elect单个值的,比如执行这条语句: Select count(id) from user; 并将结果放到List中,这时候,一个比较笨的取得id值的方法是: for(Object object : list){ String number = object.toString(); System.out.println(“number:”+number); }   2
如何将一个list传入到mySql语句进行查询
如何将一个list传入到mySql语句进行查询 方法(一) 将list封装成一个Map传入进去 //(1)将如下字符串分隔之后放入到list里面 String cols = ”1,2,3,4,5,6”; List&amp;lt;String&amp;gt; yids = new ArrayList&amp;lt;String&amp;gt;(); String[] as = cols.split(&quot;,&quot;); for(S...
项目中 List 查询结果缓存说明
一般 List 查询缓存方法主要有以下两种。 把 整个list作为一个value缓存 缓存list中的每个对象。循环去缓存取。 目前来讲 大家更倾向于第二种方法。第二种方法有一个变种。就是每个对象不是用key value 存, 而是用 hash 存。方便复用。像一般的分页展示也是使用第二种方式缓存实现。
hibernate 通过sql返回list遍历
在做一个查询业务时,我需要写入查询语句,返回list 我要取出list中的object的两数据如:测试数据、外包客服内容通过上网查找到hql的情况:**在hibernate中,用hql语句查询实体类,采用list方法的返回结果为一个List,该List中封装的对象分为以下三种情况: 1.查询全部字段的情况下,如”from 实体类”,list中封装的对象为实体类本身,各属性都将得到填充。 2
Hibernate中,查询表中全部信息,放入list集合中
2种方法: Configuration cfg = new Configuration().configure(); ServiceRegistry sr = new StandardServiceRegistryBuilder().applySettings(cfg.getProperties()).build(); SessionFactory sf = cfg.buildS...
jdbcTemplate 实现查询返回list
package spring_jdbctemplate; import java.sql.ResultSet; import java.sql.SQLException; import java.util.List; import org.junit.Test; import org.springframework.jdbc.core.JdbcTemplate; import org.spri
ibatis中配置sql语句in关键字的用法(遍历list和数组)。
如下:                   T.VSTATUS in       #vstatus[]#
Mybatis sql查询条件为in List,怎么查询
@Select(   &quot;&amp;lt;script&amp;gt;&quot; + &quot;select vc.* from vc &quot;+ &quot;where vc.car_id in &quot; + &quot;&amp;lt;foreach collection=\&quot;carIdList\&quot; index=\&quot;index\&quot; item=\&quot;id\&quot; o
mybites查询 对象包含对象List的方法 一对多方法sql的写法
Dao.xml中要定义这两个resultMap ,当然这property就是对象里的字段,这column就是表中的字段                                                                                         auditRecordPageList" resultMa
hibernate使用本地sql语句查询,解决List Object转换成List Entity
本人第一次写技术文档的博客,可能有什么语言语法问题,还有技术类的名词误解请多包涵,并予以指正方便我和大家更好的学习。废话不多说,开始进行现在的任务。 我们在使用hibernate框架时,对于程序员使用hibernate模板HibernateTemplate进行事务处理。对于增删改很方便,但是对于查可能很大的问题了。所以我们自己编写sql语句,不能依赖于Hql。在SSH框架的项目中,我是这样来处理...
Hibernate SQLQuery查询返回空List,在mysql命令下直接执行sql语句可以正常得到记录
遇到的问题如标题所述。 用Hibernate的SQLQuery来list记录, 背景: 1、前一天还能正常返回数据,今天就不可以用了,代码绝对没有变动过。 2、是多表查询,且在where条件中还使用了select查询(就这样套了很多层)。 3、以为是多表联查有问题,百度之~没有解决,Google之~没有解决+1,但有人说用hibernate的save方法加条数据就能查到了,但是感觉不大对
JAVA中将数据库查询的ResultSet结果集转为对象实体类的List集合(反射)
//定义静态方法,并根据泛型和反射,实现转换 //注意:要求数据库的列名必须和JAVA实体类的属性名、类型完全一致 public static List resultSetToList(ResultSet rs,Class cls) { //定义接收的集合 List list = new ArrayList(); //创建一个对象,方便后续反射赋值 Object obj=null; try { ...
mysql的分页查询(for循环)
这两天写了一个定时任务,关于查询表中快过期的卡,发送短信提醒,在查询中,因为生产上的数据数十万条,数据量大,如果直接一下子查出来,会对数据库造成很大的压力,用到分页查询,按照正常逻辑,查询表中总数量,然后根据当前页以及每页数量,循环对数据库进行查询;[java] view plain copy//分页查询,每次查询1000条数据  int pageSize = 1000;//每页数量  int p...
Hibernate学习记录四(Hibernate执行sql返回List<Map>类型结果集)
之前在项目中使用的Spring的jdbcTemplate直接执行sql语句的,由于客户方要求sql全部写到hibernate配置文件,则改用Hibernate的Query执行SQL语句,从文件读取。最终查询结果使用阿里巴巴的fastjson转换json,这样就需要标准的List才可以,但Hibernate使用Query.list()获取到的结果集,调试查看可以看到是List类型的,转换JSON全部
sql 使用内连接或者外连接返回查询结果List
一、如果查询的结果涉及多张表的属性        可以采用组合扩展实体的方法;重新建立一个实体类,每个属性即是对应每张表的类对象二、如果查询的结果大都在一张表里,只有其他表的少数属性        可以采用简单扩展实体的方法,即类继承(继承涉及属性比较多的那个类)...
ArrayList的contains方法的效率果然不高
之前做的一个项目,数据库抽出了40多万条数据,然后从csv文件抽出了大概也是40多万条数据,进行对比分析  之前代码如下 List keys = new ArrayList(); int isize = msTaiyousr.size(); for (int i=0;i<isize;i++) { Map msyaiyousr = msTaiyousr.get(i);
java递归跟查询所有数据及for循环查询所有数据
package com.topsts.gas.user.utils;import java.util.List;import org.mockito.verification.VerificationAfterDelay;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.context...
mybatis Sql查询 返回对象或者list数据中包含一个对象的list集合
1.查询的数据对象 @Data public class JdOrder implements Serializable{ private Long orderId; private Long finishTime; private Integer orderEmt; private Long orderTime; private Long pare...
Java中List和Map操作效率注意事项
参考书籍:《编写高质量代码:改善Java程序的151个建议》 Arraylist &amp;amp; LinkedList 增删改查效率: Arraylist底层数据结构是数组,存在索引,所以改查效率高于LinkedList。而LinkedList底层数据结构是双向链表,所以增删效率高于Arraylist。 PS:所谓增删效率高于数组结构,意思是随机位置增删,...
数据库查询得到的List<Map>结果集转化为JavaBean工具类
public class MapListToEntityListUtil&amp;lt;T&amp;gt; {      /**      * 根据List&amp;lt;Map&amp;lt;String, Object&amp;gt;&amp;gt;数据转换为JavaBean数据      * @param datas       * @param beanClass      * @return      * @throws Common...
java根据后台查询结果合并list
public JSONPageBean selectPage(HttpServletRequest request,HttpServletResponse response,RoadshowCount roadCount) { JSONPageBean json = new JSONPageBean(); List entityList = null; try { Map paramete
根据查询参数list动态拼接SQL
业务场景,根据查询参数List,动态拼接SQL语句。 例如:在工具中可执行的sql如下: select a0.sku_id from  (select sku_id from wms_sku_attribute where attribute_list_id = '7')a0 inner join (select sku_id from wms_sku_attribute wher
Hibernate通过sql查询返回list或者是map
hibernate大致分如下集中查询:1.Criteria查询,简称QBCQuery By Criteria>;2.HQL查询;3.SQL查询;记一下sql查询。在实际应用中,有时会查询某张表的个别字段,这个时候就需要用原生sql来查询。但是通过原生sql查询的返回结果会是list形式的数组。如查询学生表的name,age列,返回的结果就是由多个name、age所在的数组形成的list。不过,可以
相关热词 c#异步发送kafka c#窗体编号 c# 操作二进制文件 c# 反射 机制 c#线程 窗体失去响应 c#角度转弧度 c# 解析gps数据 c# vs设置 语法版本 c# json含回车 c#多线程demo