怎么把数据库查询的结果保存到map中

怎么把数据库查询的结果保存到map中,第1张

1、首先初始化一个map,然后按照代码依次打印Map的数据

2、执行结果如下,可见打印结果并不是按插入顺序打印的。

3、将代码修改为LinkedHashMap,遍历LinkedHashMap。

4、打印结果为按Map插入顺序打印,可见LinkedHashMap中的数据是有序的,排序方式按照插入顺序。

5、最后将代码修改为new TreeMap,然后遍历TreeMap。

6、打印结果为自然顺序,即按字符串中的字母和数字的大小来排序,可见treeMap中的数据是有序的,按key的大小来排序。

这个问题,看你的代码怎么规范。将数据库中取出的值存如map的value,再把value循环存入list。如果map的key值没有逻辑要求,可以将key字符串设置成迭代参数,如"0","1","2"等,循环如下:

for(int i=0;i<length;i++){

String key=""+i;

listadd(mapget(key));

}

Java中可以使用队列来保存数据,当使用的时候,加上锁,防止其他进程访问,当不用的时候保存到数据库里面,示例如下:

package comhenry;

import javautilHashMap;

import javautilMap;

import javautilRandom;

import javautilconcurrentlocksReadWriteLock;

import javautilconcurrentlocksReentrantReadWriteLock;

public class CacheDataTest {

 static Map<Integer,Object> dataMap=new HashMap<Integer,Object>();

 static ReadWriteLock lock=new ReentrantReadWriteLock();//创建读写锁的实例

 static Object getData(Integer key){

  lockreadLock()lock();//读取前先上锁

  Object val=null;

  try{

   val=dataMapget(key);

   if(val == null){

    // Must release read lock before acquiring write lock

    lockreadLock()unlock();

    lockwriteLock()lock();

    try{

     //可能已经由其他线程写入数据

     if(val==null){

      //dataMapput(key, "");//query from db

      val=queryDataFromDB(key);

     }

    }finally{

     //Downgrade by acquiring read lock before releasing write lock

     lockreadLock()lock();

     // Unlock write, still hold read

     lockwriteLock()unlock();

    }

   }

  }finally{

   lockreadLock()unlock();//最后一定不要忘记释放锁

  }

  Systemoutprintln("get data key="+key+">val="+val);

  return val;

 }

 

 static Object queryDataFromDB(Integer key){

  Object val=new Random()nextInt(1000);

  dataMapput(key, val);

  Systemoutprintln("write into data key="+key+">val="+val);

  return val;

 }

 

 public static void main(String[] args) {

  for(int i=0;i<10;i++){

   new Thread(new Runnable(){public void run() {

    getData(new Random()nextInt(5));

   }})start();

  }

 }

}

以上就是关于怎么把数据库查询的结果保存到map中全部的内容,包括:怎么把数据库查询的结果保存到map中、从数据库中取出的值,循环放入map中,再把map放中list中,问怎样取出map中的key值、java怎样将数据保存到缓存中,之后再保存等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9272254.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存