WADER

          java,swt,hibernate,struts,xml,spring,ant,cvs,uml,db,server
          隨筆 - 15, 文章 - 0, 評論 - 0, 引用 - 0
          數據加載中……

          Configuration的其他用法(轉貼)(2005-05-27 18:22)

          Configuration的其他用法

            Configuration的configure ()方法還支持帶參數的訪問方式,你可以指定hbm.xml文件的位置,而不是使用默認的classpath下面的hibernate.cfg.xml這種方式,例如:

          Configuration cfg = new Configuration().configure("myexample.xml");

            同時Configuration還提供了一系列方法用來定制hibernate的加載配置文件的過程,讓你的應用更加靈活,常用的是以下幾種:

          addProperties(Element)
          addProperties(Properties)
          setProperties(Properties)
          setProperty(String, String)

            通過以上幾個方法,除了使用默認的hibernate.properties文件,你還可以提供多個.properties配置文件,使用Hibernate的時候根據不同的情況使用不同的配置文件,例如:

          Properties properties = Properties.load("my.properties");
          Configuration config = new Configuration().setProperties(properties).configure();

            除了指定.properties文件之外,還可以指定.hbm.xml文件,下面列出幾個常用的方法:

          addClass(Class)
          addFile(File)
          addFile(String)
          addURL(URL)

            前面我們已經講了,configure()方法默認是通過訪問hibernate.cfg.xml的<mapping>元素來加載我們提供的.hbm.xml文件,上面列出的方法可以直接指定hbm.xml文件,例如addClass()方法可以直接通過指定class來加載對應的映射文件,hibernate會將提供的class的全名(包括package)自動轉化為文件路徑,如net.sf.hibernate.examples.quickstart.Cat.class對應了net/sf/hibernate/examples/quickstart/Cat.hbm.xml,還可以用addFile方法直接指定映射文件。

            例一:

          Configuration config = new Configuration().addClass(Cat.class);

            例二:

          Configuration config = new Configuration().addURL(Configuration.class.getResource ("Cat.hbm.xml"));

            例三:

          Configuration config = new Configuration().addFile("Cat.hbm.xml");

            5、總結

            Configuration提供的這些方法的好處如下:

            1) 一個應用中往往有很多.hbm.xml映射文件,開發的過程中如果只是為了測試某個或幾個Java PO(Persistence Object),我們沒有必要把所有的.hbm.xml都加載到內存,這樣可以通過addClass或者addFile直接,顯得非常靈活。

            2) 學習Hibernate的過程中,往往需要通過練習來體會Hibernate提供的各種特征,而很多特征是需要修改配置文件的,如果要觀察相同的代碼在不同的特征下的表現,就需要手工改配置文件,這樣太麻煩了,而且容易出錯,我們可以提供多個配置文件,每個配置文件針對需要的特征而配置,這樣我們在調用程序的時候,把不同的配置文件作為參數傳遞進去,而程序代碼里面使用setProperties和addFile指定傳入的配置文件參數就可以了。

            3) 在單元測試中,特別是在集成測試里面,整個過程是自動化的,我們不能手工干預測試過程,往往需要準備多個配置文件針對不同的測試案例,這個時候setProperties和addFile方法就顯得特別有用了,在不同的測試案例中用這些方法來指定相應的配置文件,這樣就可以做到自動化測試,保證了持續性。

          posted on 2005-11-23 16:09 wader 閱讀(750) 評論(0)  編輯  收藏


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


          網站導航:
           
          主站蜘蛛池模板: 尼玛县| 张家港市| 宜宾市| 东阿县| 禄丰县| 海城市| 句容市| 博爱县| 大安市| 常州市| 抚顺市| 榆中县| 牙克石市| 措勤县| 滨州市| 青铜峡市| 广东省| 湟中县| 利辛县| 和政县| 历史| 临沂市| 尼玛县| 宁晋县| 安陆市| 尖扎县| 白朗县| 永昌县| 视频| 呼图壁县| 临猗县| 太谷县| 武安市| 新巴尔虎左旗| 崇信县| 泾阳县| 电白县| 兴和县| 平乡县| 龙州县| 海林市|