关于java的动态索引加载数据库

来源:互联网 发布:matlab 矩阵逻辑运算 编辑:程序博客网 时间:2024/06/07 19:01

    第一次写文章,有点小兴奋,好,废话不多说,转入正题。

    我们都知道,一般从数据库里面获取数据有多种方法,JDBC,Ibatis映射,Hibernate映射等等。对于大批量数据,如果在页面初始化的时候,或者加载一个动态区域时,通过这种传统的方式获取数据比较的慢,所以可以通过动态索引可以大大提高了加载效率。

    索引的类型一般分为3种,分别是:类(class),接口(interface),数组(array)。索引类型可以引用动态创建的类实例、普通实例、数组。除此外还有一个null索引,null索引运行时没有对应的类型,但可以被转换为任何类型,索引类型的默认值是null。

    代码如下

package DataStruct;import java.util.ArrayList;import java.util.HashMap;import java.util.Map;//索引的实现public class Tmap {Map tMap = new HashMap();ArrayList tList = new ArrayList();public void putData(Object data, Object value){ArrayList list = (ArrayList)tMap.get(data);if (list == null){list = new ArrayList();tMap.put(data, list);//////}list.add(value);tList.add(value);}public ArrayList getData(Object data){ArrayList list = (ArrayList)tMap.get(data);return list;}public Map getMap(){return tMap;}public static void main(String[] args){Tmap tmap = new Tmap();for (int i = 1; i < 5; i++){tmap.putData(new Long(i),new Long(i));}//remove 删除映射关系//tmap.getMap().remove(new Long(1));ArrayList list = (ArrayList)tmap.getData(new Long(1));if (list == null){System.out.println("null");}else {System.out.println(list.toString());}////System.gc();}}