dnalncjm

          導航

          <2007年4月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          留言簿(1)

          隨筆分類

          隨筆檔案

          閱讀排行榜

          評論排行榜

          常用鏈接

          統計

          最新評論

          hibernate實體對象數據庫生成

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

          1、對象的序列化:Serializable

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

          2、CRUD

                 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 易天 閱讀(441) 評論(0)  編輯  收藏


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


          網站導航:
           
          主站蜘蛛池模板: 沛县| 通辽市| 白沙| 大同市| 阜新| 南靖县| 肇庆市| 思南县| 高清| 葫芦岛市| 阜新市| 肥东县| 长宁县| 江川县| 雅江县| 北流市| 禹州市| 瑞安市| 高雄市| 凤庆县| 利津县| 闵行区| 涞水县| 大埔县| 鄂托克前旗| 榆树市| 清远市| 张北县| 赣州市| 元江| 河池市| 平谷区| 平邑县| 蒙自县| 赤峰市| 杨浦区| 婺源县| 兴宁市| 军事| 绍兴市| 乐平市|