锘??xml version="1.0" encoding="utf-8" standalone="yes"?>含羞草国产亚洲精品岁国产精品,亚洲首页国产精品丝袜,久久亚洲国产精品一区二区http://m.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://m.tkk7.com/java-god/archive/2008/02/25/182012.htmljava flex 緇撳悎java flex 緇撳悎Mon, 25 Feb 2008 07:26:00 GMThttp://m.tkk7.com/java-god/archive/2008/02/25/182012.htmlhttp://m.tkk7.com/java-god/comments/182012.htmlhttp://m.tkk7.com/java-god/archive/2008/02/25/182012.html#Feedback0http://m.tkk7.com/java-god/comments/commentRss/182012.htmlhttp://m.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://m.tkk7.com/java-god/archive/2008/02/25/182011.htmljava flex 緇撳悎java flex 緇撳悎Mon, 25 Feb 2008 07:23:00 GMThttp://m.tkk7.com/java-god/archive/2008/02/25/182011.htmlhttp://m.tkk7.com/java-god/comments/182011.htmlhttp://m.tkk7.com/java-god/archive/2008/02/25/182011.html#Feedback0http://m.tkk7.com/java-god/comments/commentRss/182011.htmlhttp://m.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();
        }
    }
}

]]>
主站蜘蛛池模板: 亚洲中文字幕丝袜制服一区| 最近中文字幕无吗免费高清| 亚洲免费视频一区二区三区| 美女露隐私全部免费直播| 全免费a级毛片免费看不卡| 中文字幕乱码亚洲精品一区| 日韩免费电影在线观看| 亚洲欧美成人综合久久久| 在线免费视频一区二区| 亚洲AV无码国产一区二区三区| 啦啦啦手机完整免费高清观看| 亚洲AV无码精品国产成人| 免费中文字幕在线观看| 人妖系列免费网站观看| 国产AV无码专区亚洲AV漫画| 中文在线观看永久免费| 亚洲AV成人一区二区三区AV| 2021在线观看视频精品免费| 亚洲va久久久久| 免费国产小视频在线观看| 国产精品高清免费网站| 亚洲综合在线观看视频| 无码免费午夜福利片在线| 欧美色欧美亚洲另类二区| 久久久久噜噜噜亚洲熟女综合| 在线看片免费人成视频福利| 亚洲国产高清视频在线观看| 午夜视频免费观看| 一级做性色a爰片久久毛片免费| 亚洲av中文无码乱人伦在线播放| 99久久综合精品免费| 亚洲精品av无码喷奶水糖心| 精品亚洲一区二区三区在线播放 | selaoban在线视频免费精品| 亚洲伊人久久综合影院| 热re99久久6国产精品免费| 久久精品国产亚洲av麻豆蜜芽 | 在线观看亚洲av每日更新| 日本免费大黄在线观看| 亚洲国产精品无码第一区二区三区| 亚洲精品无码成人片在线观看|