锘??xml version="1.0" encoding="utf-8" standalone="yes"?>含羞草国产亚洲精品岁国产精品,亚洲首页国产精品丝袜,久久亚洲国产精品一区二区http://www.tkk7.com/java-god/category/29684.htmlzh-cnWed, 07 May 2008 22:45:57 GMTWed, 07 May 2008 22:45:57 GMT60鍦╦2se鐜涓璭jb3.0鎿嶄綔entity bean鐨勯氱敤綾?PerfectEntityManager http://www.tkk7.com/java-god/archive/2008/02/25/182012.htmljava flex 緇撳悎java flex 緇撳悎Mon, 25 Feb 2008 07:26:00 GMThttp://www.tkk7.com/java-god/archive/2008/02/25/182012.htmlhttp://www.tkk7.com/java-god/comments/182012.htmlhttp://www.tkk7.com/java-god/archive/2008/02/25/182012.html#Feedback0http://www.tkk7.com/java-god/comments/commentRss/182012.htmlhttp://www.tkk7.com/java-god/services/trackbacks/182012.html
import com.vsc.study.ejb.entitybean.Function;
import java.lang.reflect.Method;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;

public class PerfectEntityManager {
    
    private EntityManagerFactory emf;
    private EntityManager em;
    
    public PerfectEntityManager() {
        emf = Persistence.createEntityManagerFactory("study-ejbPU");
        em = emf.createEntityManager();
    }
    
    public PerfectEntityManager(String utinName) {
        emf = Persistence.createEntityManagerFactory(utinName);
        em = emf.createEntityManager();
    }
    
    public Map<Integer, List> getCurrentResults(int currentPage, int pageSize,
            int maxResults, String querySql) {
        if (maxResults == 0) {
            maxResults = em.createQuery(querySql).getResultList().size();
        }
        List list = em.createQuery(querySql).setFirstResult(
                (currentPage - 1) * pageSize).setMaxResults(pageSize)
                .getResultList();
        HashMap<Integer, List> hashMap = new HashMap<Integer, List>();
        hashMap.put(maxResults, list);
        return hashMap;
    }
    
    public Map<Integer, List> getCurrentResults(int currentPage, int pageSize,
            int maxResults, Object object) {
        
        if (maxResults == 0) {
            maxResults = em.createQuery("from " + object.getClass())
            .getResultList().size();
        }
        List list = em.createQuery("from " + object.getClass()).setFirstResult(
                (currentPage - 1) * pageSize).setMaxResults(pageSize)
                .getResultList();
        HashMap<Integer, List> hashMap = new HashMap<Integer, List>();
        hashMap.put(maxResults, list);
        return hashMap;
    }
    
    String separator = " ";
    
    public String setEjbql(Object object, List<Ejbql> ejbqlList) {
        StringBuilder sb = new StringBuilder("select o from "
                + object.getClass() + " as o where 1=1 ");
        for (Ejbql ejbql : ejbqlList) {
            if (ejbql == null) {
                continue;
            }
            if (ejbql.getCloumns() == null) {
                continue;
            }
            if (ejbql.getOperator() == null) {
                continue;
            }
            if (ejbql.getValues() == null) {
                continue;
            }
            sb.append(ejbql.getAndOr() + separator);
            sb.append("o." + ejbql.getCloumns());
            if (ejbql.getOperator().equals("like")) {
                sb.append(separator + ejbql.getOperator() + separator);
                sb.append("'%" + ejbql.getValues() + "%'" + separator);
            } else {
                sb.append(ejbql.getOperator() + separator);
                if (ejbql.getValues() instanceof String) {
                    sb.append("'" + ejbql.getValues() + "'" + separator);
                } else {
                    sb.append(ejbql.getValues() + separator);
                }
            }
        }
        return sb.toString();
    }
    
    public String setEjbql(String classname, List<Ejbql> ejbqlList) {
        StringBuilder sb = new StringBuilder("select o from " + classname
                + " as o where 1=1 ");
        for (Ejbql ejbql : ejbqlList) {
            if (ejbql == null) {
                continue;
            }
            if (ejbql.getCloumns() == null) {
                continue;
            }
            if (ejbql.getOperator() == null) {
                continue;
            }
            if (ejbql.getValues() == null) {
                continue;
            }
            sb.append(ejbql.getAndOr() + separator);
            sb.append("o." + ejbql.getCloumns());
            if (ejbql.getOperator().equals("like")) {
                sb.append(separator + ejbql.getOperator() + separator);
                sb.append("'%" + ejbql.getValues() + "%'" + separator);
            } else {
                sb.append(ejbql.getOperator() + separator);
                if (ejbql.getValues() instanceof String) {
                    sb.append("'" + ejbql.getValues() + "'" + separator);
                } else {
                    sb.append(ejbql.getValues() + separator);
                }
            }
        }
        return sb.toString();
    }
    
    public int remove(Object object) {
        if (object == null)
            throw new NullPointerException();
        try {
            em.getTransaction().begin();
            em.remove(this.search(object));
            em.getTransaction().commit();
            em.close();
            emf.close();
            return 0;
        } catch (Exception e) {
            return -2;
        }
    }
    
    public int update(Object object) {
        if (object == null || this.getId(object) == null)
           throw new NullPointerException();
        Object obj = this.search(object);
        this.updateBean(object, obj);
        try {
            em.getTransaction().begin();
            em.merge(obj);
            em.getTransaction().commit();
            em.close();
            emf.close();
            return 0;
        } catch (Exception e) {
            return -1;
        }
    }
    
    public Object search(Object object) {
        if (object == null)
           throw new NullPointerException();
        try {
            Object obj = em.find(object.getClass(), this.getId(object));
            return obj;
        } catch (Exception e) {
            e.printStackTrace();
            return -1;
        }
    }
    
    public List searchAll(Object object) {
        if (object == null)
            throw new NullPointerException();
        try {
            em.getTransaction().begin();
            List list = em.createQuery("from " + object.getClass()).getResultList();
            em.getTransaction().commit();
            em.close();
            emf.close();
            return list;
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }
    }
    
    public Long insert(Object object) {
        try {
            em.getTransaction().begin();
            em.persist(object);
            em.getTransaction().commit();
            em.close();
            emf.close();
            return this.getId(object);
        } catch (Exception e) {
            e.printStackTrace();
            return -1l;
        }
    }
    
    public Long getId(Object object) {
        if (object == null)
            throw new NullPointerException();
        try {
            return (Long) object.getClass().getDeclaredMethod("getId").invoke(object);
        } catch (Exception e) {
            e.printStackTrace();
            return -5l;
        }
    }
    
    /**
     * obj is update Object
     *
     * @param object
     * @param obj
     */
    public void updateBean(Object object, Object obj) {
        try {
            Method[] methods = object.getClass().getDeclaredMethods();
            Method method;
            Object objectMethodValue;
            Object objMethodValue;
            for (int i = 0; i < methods.length; i++) {
                if (methods[i].getName().trim().startsWith("get")) {
                    if (methods[i].invoke(object) == null) {
                        System.out
                                .println("----------this field is null--------------");
                        continue;
                    }
                    objectMethodValue = methods[i].invoke(object);
                    objMethodValue = methods[i].invoke(obj);
                    if (objectMethodValue.equals(objMethodValue)) {
                        System.out
                                .println("----------field is equals--------------");
                        continue;
                    }
                    method = obj.getClass().getDeclaredMethod(
                            methods[i].getName().trim().replaceFirst("g", "s"),
                            methods[i].getReturnType());
                    method.invoke(obj, objectMethodValue);
                    System.out.println("==============="
                            + methods[i].invoke(obj));
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

]]>
鍦╦2ee鐜涓璭jb3.0鐨剆ession bean鎿嶄綔entity bean鐨勯氱敤綾?ManyActionSessionBeanhttp://www.tkk7.com/java-god/archive/2008/02/25/182011.htmljava flex 緇撳悎java flex 緇撳悎Mon, 25 Feb 2008 07:23:00 GMThttp://www.tkk7.com/java-god/archive/2008/02/25/182011.htmlhttp://www.tkk7.com/java-god/comments/182011.htmlhttp://www.tkk7.com/java-god/archive/2008/02/25/182011.html#Feedback0http://www.tkk7.com/java-god/comments/commentRss/182011.htmlhttp://www.tkk7.com/java-god/services/trackbacks/182011.html
import com.vsc.study.ejb.entitybean.Function;
import com.vsc.study.ejb.remote.ManyActionSessionRemote;
import com.vsc.study.ejb.util.LoggerInterceptor;
import java.lang.reflect.Method;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.interceptor.Interceptors;

@Stateless
//@Interceptors({LoggerInterceptor.class})
public class ManyActionSessionBean implements ManyActionSessionRemote {
    
    @PersistenceContext
    private EntityManager em;
   
    public Map getCurrentResults(int currentPage, int pageSize,
            int maxResultSet,String querySql) {
        if(maxResultSet==0){
            maxResultSet = em.createQuery(querySql).getResultList().size();
        }
        List list = em.createQuery(querySql).setFirstResult(
                (currentPage - 1) * pageSize).setMaxResults(pageSize)
                .getResultList();
        HashMap hashMap = new HashMap();
        hashMap.put(maxResultSet, list);
        return hashMap;
    }
   
    public Map getCurrentResults(int currentPage, int pageSize,
            int maxResultSet,Object object) {
        if(maxResultSet==0){
            maxResultSet = em.createQuery("from " + object.getClass().getSimpleName()).getResultList().size();
        }
        List list = em.createQuery("from " + object.getClass().getSimpleName())
        .setFirstResult((currentPage - 1) * pageSize).setMaxResults(
                pageSize).getResultList();
        HashMap hashMap = new HashMap();
        hashMap.put(maxResultSet, list);
        return hashMap;
    }
   
    public int remove(Object object) {
        if (object == null)
            return -1;
        try {
            em.remove(this.search(object));
            return 0;
        } catch (Exception e) {
            return -2;
        }
    }
   
    public int[] removes(Object[] objects) {
        if(objects==null)
            throw new NullPointerException();
        int[] results = new int[objects.length];
        for (int i = 0; i < objects.length; i++) {
            Object obj = em.find(objects.getClass(), this.getId(objects[i]));
            if (obj != null) {
                results[i] = this.remove(obj);
            }
        }
        return results;
    }
   
    public int update(Object object) {
        if (object == null || this.getId(object) == null)
            return -1;
        Object obj = this.search(object);
        if (obj == null)
            return -2;
        this.updateEntityBean(object, obj);
        try {
            em.merge(obj.getClass().cast(obj));
            return 0;
        } catch (Exception e) {
            return -1;
        }
    }
   
    public Object search(Object object) {
        if (object == null || this.getId(object) == null)
            return -1;
        try {
            return em.find(object.getClass(), this.getId(object));
        } catch (Exception e) {
            e.printStackTrace();
            return -1;
        }
    }
   
    public List  searchAll(Object object) {
        if (object == null)
            return null;
        try {
            return em.createQuery("from " + object.getClass().getSimpleName()).getResultList();
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }
    }
   
    public Long insert(Object object) {
        try {
            em.persist(object.getClass().cast(object));
            return this.getId(object);
        } catch (Exception e) {
            e.printStackTrace();
            return -1l;
        }
    }
   
    public Long getId(Object object) {
        if (object == null)
            return -1l;
        try {
            return (Long) object.getClass().getDeclaredMethod("getId").invoke(
                    object);
        } catch (Exception e) {
            e.printStackTrace();
            return -5l;
        }
    }
   
    /**
     * obj is update Object
     *
     * @param object
     * @param obj
     */
    public void updateEntityBean(Object object, Object obj) {
        try {
            Method[] methods = object.getClass().getDeclaredMethods();
            Method method;
            Object objectMethodValue;
            Object objMethodValue;
            for (int i = 0; i < methods.length; i++) {
                if (methods[i].getName().trim().startsWith("get")) {
                    if (methods[i].invoke(object) == null) {
                        System.out
                                .println("----------this field is null--------------");
                        continue;
                    }
                    objectMethodValue = methods[i].invoke(object);
                    objMethodValue = methods[i].invoke(obj);
                    if (objectMethodValue.equals(objMethodValue)) {
                        System.out
                                .println("----------field is equals--------------");
                        continue;
                    }
                    method = obj.getClass().getDeclaredMethod(
                            methods[i].getName().trim().replaceFirst("g", "s"),
                            methods[i].getReturnType());
                    method.invoke(obj, objectMethodValue);
                    System.out.println("==============="
                            + methods[i].invoke(obj));
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

]]>
主站蜘蛛池模板: 添bbb免费观看高清视频| 亚洲国产av美女网站| 污污免费在线观看| 免费国产成人高清视频网站| 亚洲av无码有乱码在线观看| 在线免费观看一级片| 亚洲丶国产丶欧美一区二区三区| 全免费一级毛片在线播放| 亚洲一卡一卡二新区无人区| 大学生一级特黄的免费大片视频 | 无人在线观看免费高清| 久久香蕉国产线看观看亚洲片| 久久青草免费91观看| 亚洲性一级理论片在线观看| 最近2019中文免费字幕| 亚洲日韩在线中文字幕综合 | 色噜噜狠狠色综合免费视频| 亚洲精品黄色视频在线观看免费资源| 人成电影网在线观看免费| 久久久久一级精品亚洲国产成人综合AV区 | 亚洲国产高清美女在线观看| 黄色成人网站免费无码av| 亚洲av中文无码字幕色不卡| 区三区激情福利综合中文字幕在线一区亚洲视频1| 日韩亚洲人成在线综合| 亚洲中久无码永久在线观看同| 美女被cao网站免费看在线看| 久久精品国产亚洲av日韩| 免费理论片51人人看电影| 人妖系列免费网站观看| 亚洲精品福利网站| 免费一级毛片正在播放| 免费一级毛片无毒不卡| 亚洲精品女同中文字幕| 亚洲精品无码午夜福利中文字幕 | 亚洲精品无码永久在线观看你懂的 | 免费国产成人午夜电影| 99精品免费观看| 在线观看亚洲专区| 久久精品亚洲日本佐佐木明希| 成人毛片免费在线观看|