专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > Java Web开发

大神们,求教啊 急 java中list跟数据库查询

发布时间:2010-05-30 21:58:38 文章来源:www.iduyao.cn 采编人员:星星草
大神们,求教啊.. 急急急!! java中list和数据库查询
现在有一个list  里边是一个表的id  然后想查询在list里边所有存在ID的记录  不想用循环一次一次的查,也不能用in  数据大了效率不行.   这可咋整.....  
------解决思路----------------------
你从数据库查询数据时把数据放入map不行吗?
------解决思路----------------------
一楼的方向是对的呢,通过第一次加载,将list中的Id放到缓存中吧。
可以创建一个单例完成存入缓存,从缓存中查找等操作;

public class ObjectHelper {
private static List objects = null;
private static Map<Integer, Integer> map = new HashMap<Integer, Integer>();//key存的是主鍵id

private static ObjectHelper instance;//创建单例实例

public void setInstance(ObjectHelper objectHelper) {
instance = objectHelper;
instance.refresh();
}

/**
 * 清空缓存,并重新导入表中所有的数据
 */
public synchronized void refresh() {
if (objects!= null) {
objects.clear();
}

if (map != null) {
map.clear();
}

objects = dao.getAll();  //从表中导入所有的信息
for (Integer o : objects) {
map.put(o, o);
}
}
// 获取实例对象
public static ObjectHelper get() {
return instance;
}

/**
 * 构造函数
 */
private ObjectHelper () {

}
      /**
 * 根据id从map中查找,具体的楼主根据自己需求
 */
public Integer getId(Integer id) {
return map.get(id);
}
       /**
 * 返回缓存中的所有值
 */
public final List all() {
return objects;
}
}

//代码不一定正确,具体框架大致是这个样子,希望对你有帮助~~
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: