package com.dao;
import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.hibernate.event.LoadEventListener;
import com.bean.AccountBean;
import com.factory.Factory;
import com.sun.accessibility.internal.resources.accessibility;
public class CacheDao {
/**
* 存放数据的缓存数据(主要针对于一级缓存)
* */
public static Map<String, AccountBean> cacheMap = new HashMap<String, AccountBean>();
/**
* 把查询出来的数据放入到缓存;<br>
* 如果下次查询相同的id,可以直接从缓存取;而不用再次进入数据库;
* 如果不存在,把查询的结果放入到缓存中;
* */
public static AccountBean put(AccountBean bean){
String key = AccountBean.class.getName()+"#"+bean.getId();
if(cacheMap.containsKey(key)){
return cacheMap.get(key);
}
cacheMap.put(key, bean);
return bean;
}
public static void main(String[] args) {
AccountBean bean = (AccountBean)load(1);
System.out.println("---user1");
System.out.println(bean);
put(bean);
bean = (AccountBean)load(1);
System.out.println("---user2");
System.out.println(bean);
// AccountBean bean2 = (AccountBean)get(1);
// System.out.println("---user3");
// System.out.println(bean2);
//
// bean2 = (AccountBean)get(1);
// System.out.println("---user4");
// System.out.println(bean2);
}
/**
* get查询方式
* */
public static Object get(Serializable id){
Session session = Factory.getSession();
Transaction tran = session.beginTransaction();
tran.begin();
Object bean = session.get(AccountBean.class, id);
tran.commit();
session.close();
return bean;
}
/**
* load查询方式
* */
public static Object load(Serializable id){
String key = AccountBean.class.getName()+"#"+id;
if(cacheMap.get(key)!=null){
return cacheMap.get(key);
}
Session session = Factory.getSession();
Transaction tran = session.beginTransaction();
tran.begin();
Object obj = session.load(AccountBean.class, id);
tran.commit();
// session.close();
return obj;
}
}
import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.hibernate.event.LoadEventListener;
import com.bean.AccountBean;
import com.factory.Factory;
import com.sun.accessibility.internal.resources.accessibility;
public class CacheDao {
/**
* 存放数据的缓存数据(主要针对于一级缓存)
* */
public static Map<String, AccountBean> cacheMap = new HashMap<String, AccountBean>();
/**
* 把查询出来的数据放入到缓存;<br>
* 如果下次查询相同的id,可以直接从缓存取;而不用再次进入数据库;
* 如果不存在,把查询的结果放入到缓存中;
* */
public static AccountBean put(AccountBean bean){
String key = AccountBean.class.getName()+"#"+bean.getId();
if(cacheMap.containsKey(key)){
return cacheMap.get(key);
}
cacheMap.put(key, bean);
return bean;
}
public static void main(String[] args) {
AccountBean bean = (AccountBean)load(1);
System.out.println("---user1");
System.out.println(bean);
put(bean);
bean = (AccountBean)load(1);
System.out.println("---user2");
System.out.println(bean);
// AccountBean bean2 = (AccountBean)get(1);
// System.out.println("---user3");
// System.out.println(bean2);
//
// bean2 = (AccountBean)get(1);
// System.out.println("---user4");
// System.out.println(bean2);
}
/**
* get查询方式
* */
public static Object get(Serializable id){
Session session = Factory.getSession();
Transaction tran = session.beginTransaction();
tran.begin();
Object bean = session.get(AccountBean.class, id);
tran.commit();
session.close();
return bean;
}
/**
* load查询方式
* */
public static Object load(Serializable id){
String key = AccountBean.class.getName()+"#"+id;
if(cacheMap.get(key)!=null){
return cacheMap.get(key);
}
Session session = Factory.getSession();
Transaction tran = session.beginTransaction();
tran.begin();
Object obj = session.load(AccountBean.class, id);
tran.commit();
// session.close();
return obj;
}
}