<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    數據加載中……
    在j2ee環境中ejb3.0的session bean操作entity bean的通用類 ManyActionSessionBean
    package com.vsc.study.ejb.sessionbean;

    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();
            }
        }
    }

    posted on 2008-02-25 15:23 java flex 結合 閱讀(867) 評論(1)  編輯  收藏 所屬分類: ejb 3.0

    評論

    # re: 在j2ee環境中ejb3.0的session bean操作entity bean的通用類 ManyActionSessionBean 2009-07-16 17:35 找個美女做老婆

      回復  更多評論    
    主站蜘蛛池模板: 在线观看免费人成视频色| 野花香高清在线观看视频播放免费 | 最近高清中文字幕无吗免费看| 亚洲av无码成h人动漫无遮挡| 三级网站在线免费观看| 国产亚洲精品成人a v小说| 一级免费黄色大片| 亚洲老妈激情一区二区三区| 中国一级毛片视频免费看| 国产aⅴ无码专区亚洲av| 久久免费线看线看| 亚洲高清视频在线播放| 美女内射毛片在线看免费人动物| 91亚洲精品自在在线观看| 无码视频免费一区二三区 | 一级做a爰片久久毛片免费陪| 亚洲人成网站18禁止一区| 中文字幕a∨在线乱码免费看| 亚洲AV永久无码精品成人| 无码av免费毛片一区二区| 亚洲综合一区无码精品| 免费a级毛片大学生免费观看 | 成人无码区免费视频观看| 男人的天堂av亚洲一区2区| 亚洲精品线路一在线观看| 成全动漫视频在线观看免费高清版下载| 亚洲国产成人久久精品动漫| 国产成人午夜精品免费视频| 老司机午夜免费视频| 亚洲gv猛男gv无码男同短文| 无码国产精品一区二区免费式直播 | 亚洲一区二区三区在线观看蜜桃| 日韩一区二区免费视频| a级日本高清免费看| 亚洲中文字幕无码久久| 久久久久亚洲AV无码专区网站| 国产成人精品免费视频动漫 | 国产免费啪嗒啪嗒视频看看| A级毛片高清免费视频在线播放| 国产精品亚洲综合久久 | 狠狠色香婷婷久久亚洲精品|