dnalncjm

          常用鏈接

          統計

          最新評論

          hibernate實體對象數據庫生成

          首先,我們先要理解一下相關知識點:

          1、對象的序列化:Serializable

          對象序列化是對象永久化的一種機制,可以把序列化當成一種深度克隆的方法,確切的說應該是對象的序列化,一般程序在運行時,產生對象,這些對象隨著程序的停止運行而消失,但如果我們想把某些對象(因為是對象,所以有各自不同的特性)保存下來,在程序終止運行后,這些對象仍然存在,可以在程序再次運行時讀取這些對象的值,或者在其他程序中利用這些保存下來的對象。這種情況下就要用到對象的序列化。一般對象序列化后會保存在存儲設備(硬盤)上,以文件的形式出現。

          2CRUD

                 CRUD是增加、讀取、更新和刪除幾個單詞的首字母簡寫 Create,Read,Update,Delete四個單詞的縮寫,主要被用在描述軟件系統中數據庫或者持久層的基本操作功能。
          (In computing, CRUD is an acronym for create, retrieve, update, and delete. It is used to refer to the basic functions of a database or persistence layer in a software system.)

                 在進行Hibernate開發過程中,我們通常會使用DAO模式,有一些通用的數據操作方法,如CRUD,我們通常會將這些方法集中在一個DAO,這樣會簡便很多。DAO數據訪問接口如下:


          import java.io.Serializable;
          import java.util.Collection;
          import java.util.List;
          import java.util.Map;

          public interface Dao {

            List getObjects(Class clazz);
          //返回數據庫中與此類對應的表的所有值,即entity類型中的所有信息

            Object getObject(Class clazz, Serializable id);
          //返回與此類對應的表主鍵為id的所有值

            Serializable saveObject(Object o);
          //序列化保存對象。

            
          void updateObject(Object o);//更新此對象

            
          void removeObject(Class clazz, Serializable id);//根據數據庫中與此類對應表的主鍵(id)刪除此對象

            
          void removeObject(Object o);//刪除此對象

            
          void removeObjects(Collection objects);

            
          /*
             * 根據屬性名和屬性值查詢對象,返回唯一對象
             
          */
            Object findBy(Class clazz, String name, Object value);

            
          /*
             * 根據屬性名和屬性值查詢對象,返回所以符合條件的對象
             
          */
            List findAllBy(Class clazz, String name, Object value);

            
          /**
             * 根據Map中過濾條件和分頁參數查詢.
             *
             * 
          @param filter   過濾條件.
             * 
          @param sortMap  排序條件.
             * 
          @param pageNo   當前頁碼
             * 
          @param pageSize 每頁顯示記錄數.
             
          */

            List findAllBy(Class clazz, Map filter, Map sorMap, 
          int pageNo, int pageSize);

            
          /**
             * 符合filter過濾條件的記錄總數
             * 
          @param clazz
             * 
          @param filter
             * 
          @return
             
          */
            
          int total(Class clazz, Map filter);
          }



          posted on 2007-04-22 02:27 易天 閱讀(437) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 临猗县| 邹平县| 中山市| 满城县| 麻栗坡县| 龙门县| 永年县| 大田县| 云安县| 安国市| 泰兴市| 安徽省| 建宁县| 东阳市| 溧水县| 鸡西市| 济南市| 梨树县| 梅河口市| 宝应县| 黎平县| 乡城县| 凤台县| 延吉市| 和静县| 澄江县| 逊克县| 伽师县| 白水县| 涡阳县| 教育| 兴山县| 西盟| 德庆县| 乌兰察布市| 红桥区| 嘉兴市| 垫江县| 泸州市| 石屏县| 定边县|