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

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

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

    軟件藝術思考者  
    混沌,彷徨,立志,蓄勢...
    公告
    日歷
    <2008年11月>
    2627282930311
    2345678
    9101112131415
    16171819202122
    23242526272829
    30123456

    導航

    隨筆分類(86)

    隨筆檔案(85)

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

     
            hql 是一種近似于sql的db查詢語言。但它操作的元素已經由表名變為pojo類名,由表字段變為pojo的屬性名。這為程序員徹底的使用類來寫程序和查詢語句提供了方便。但大多數據程序員可能不知道,寫hql查詢其實也有它的編輯器,這就是myeclipse提供的 hql edit編輯器。
            怎樣來使用hql edit呢?
              1.創建一個hibernate 工程。然后在工程里添加一個hqlTest.hql文件。后綴必須是hql。
              2.右擊此文件,打開方式里應該有myeclipse hql editor 選項。如果沒有,請在eclipse的首選項里的文件關聯里把*.hql編輯器指定為myeclipse hql editor.
             3.打開后的編輯界面應該是下面的樣子:

    寫完后,點擊綠色的三角按鈕就是查詢。結果會出現 在編輯器的下方。如果你的hql沒問題的話。
    posted on 2008-11-17 14:19 智者無疆 閱讀(2397) 評論(3)  編輯  收藏 所屬分類: about java
    評論:
    • # re: spring service層的測試[未登錄]  lijun Posted @ 2008-11-21 12:04
      1.基類
      package com.movo.tv.test;

      import java.io.IOException;
      import java.util.Properties;

      import org.springframework.orm.hibernate3.SessionFactoryUtils;
      import org.springframework.test.AbstractTransactionalDataSourceSpringContextTests;


      import org.apache.log4j.Logger;
      import org.apache.log4j.PropertyConfigurator;
      import org.hibernate.Session;
      import org.hibernate.SessionFactory;

      import com.movo.tv.Constants;
      /*
      * AbstractTransactionalDataSourceSpringContextTests具體事務回滾能力,這樣測試數據不會成為臟數據.而且具有open session in test能力
      * 同時也就解決了lazy load 問題.但如果不想回滾的話,得注意每個test*方法結束前加上flushCurrentSession()方法.
      * by zy
      */
      public abstract class BaseServiceTestCase extends AbstractTransactionalDataSourceSpringContextTests {

      protected Logger log = Logger.getLogger(BaseServiceTestCase.class);
      /**
      * @see AbstractTransactionalDataSourceSpringContextTests#getConfigLocations()
      */
      @Override
      protected String[] getConfigLocations() {
      setAutowireMode(AUTOWIRE_BY_NAME);
      this.setDefaultRollback(true);
      Properties properties = new Properties();
      try {
      properties.load(this.getClass().getResourceAsStream("/spring/test/log4j.properties"));
      } catch (IOException e) {
      e.printStackTrace();
      }
      PropertyConfigurator.configure(properties);
      return new String[]{Constants.DEFAULT_CONTEXT, Constants.DEFAULT_TEST_CONTEXT};
      }

      protected void flushCurrentSession(){
      Session session = SessionFactoryUtils.getSession((SessionFactory)applicationContext.getBean("sessionFactory"), false);
      if (session !=null){
      session.flush();
      }
      }
      }

      2.測試類
      -------------------------------------------------
      package com.movo.tv.test.service;

      import java.util.List;

      import com.movo.tv.pojo.City;
      import com.movo.tv.test.BaseServiceTestCase;
      import com.movo.tv.yedian.service.CityService;

      public class TestCityServiceImp extends BaseServiceTestCase {

      CityService cityService;

      public CityService getCityService() {
      return cityService;
      }

      public void setCityService(CityService cityService) {
      this.cityService = cityService;
      }

      public void testCitiesOnLang(){
      Long timeStart_0 =System.currentTimeMillis();
      System.out.println("hibernate首次建立緩存:");
      //System.out.println("############ testCitiesOnLang start :"+timeStart);
      List<City> li_0 = getCityService().citiesOnLang("zh");
      City city;
      for(int i=0;i<li_0.size();i++){
      city=li_0.get(i);
      System.out.print("城市名:"+city.getCityname());
      }
      System.out.println("");
      System.out.println("############ testCitiesOnLang use time :"+(System.currentTimeMillis()-timeStart_0)+" 毫秒");

      Long timeStart =System.currentTimeMillis();
      System.out.println("首次使用hibernate二級緩存查詢的情況:");
      System.out.println("############ testCitiesOnLang start :"+timeStart);
      List<City> li = getCityService().citiesOnLang("zh");
      City city1;
      for(int i=0;i<li.size();i++){
      city1=li.get(i);
      System.out.println("城市名:"+city1.getCityname());
      }System.out.println("");
      System.out.println("使用時間 :"+(System.currentTimeMillis()-timeStart)+" 毫秒");

      Long timeStart2 =System.currentTimeMillis();
      System.out.println("第二次使用hibernate二級緩存查詢的情況:");
      System.out.println("使用時間 :"+timeStart);
      List<City> li2 = getCityService().citiesOnLang("zh");
      City city2;
      for(int i=0;i<li2.size();i++){
      city2=li2.get(i);
      System.out.println("城市名:"+city2.getCityname());
      }System.out.println("");
      System.out.println("使用時間 :"+(System.currentTimeMillis()-timeStart2)+" 毫秒");
      }



      }
        回復  更多評論   

    • # re: hql editor 的使用[未登錄]  lijun Posted @ 2008-11-24 13:48
      //for test
      public static final String DEFAULT_CONTEXT = "classpath*:spring/*.xml";
      public static final String DEFAULT_TEST_CONTEXT = "classpath*:spring/test/*.xml";

      public static final int DEFAULT_PAGE_SIZE = 20;

      public static final String CURRENT_LANGUAGE_SESSIONKEY = "CUL";  回復  更多評論   

    • # 胎教大全:可用飛速tudou下載[未登錄]  lijun Posted @ 2008-11-24 13:49
      http://v.ku6.com/special/index_2482375.html  回復  更多評論   

     
    Copyright © 智者無疆 Powered by: 博客園 模板提供:滬江博客


       觀音菩薩贊

    主站蜘蛛池模板: 国产精品嫩草影院免费| 国产人成免费视频网站| 亚洲乱码中文字幕手机在线| 亚洲日产乱码一二三区别| 99在线精品视频观看免费| 亚洲三级在线视频| 国产在线国偷精品产拍免费| 久久精品国产亚洲av麻豆蜜芽 | 亚洲视频一区二区三区四区| 最近2019年免费中文字幕高清| 亚洲AV无码成人精品区在线观看 | 亚洲高清成人一区二区三区| 一级特级aaaa毛片免费观看| 国产亚洲老熟女视频| 中国一级特黄高清免费的大片中国一级黄色片 | 丝瓜app免费下载网址进入ios | 亚洲一区二区三区无码国产| 成人免费看吃奶视频网站| 亚洲AV无码一区二区三区性色 | 无码精品A∨在线观看免费| 自拍偷区亚洲国内自拍| 四虎永久在线免费观看| 国产免费福利体检区久久| 亚洲视频在线观看一区| 成人最新午夜免费视频| 一级做a爰全过程免费视频毛片| 亚洲第一AAAAA片| 青娱乐免费视频在线观看| 国产精品亚洲综合一区在线观看| 色久悠悠婷婷综合在线亚洲| 精品熟女少妇av免费久久| 亚洲高清乱码午夜电影网| 亚洲一区二区三区偷拍女厕| 中文字幕视频免费| 亚洲av午夜电影在线观看| 日本红怡院亚洲红怡院最新| 免费三级毛片电影片| 女人裸身j部免费视频无遮挡| 久久精品夜色国产亚洲av| 日韩免费a级在线观看| 99视频免费在线观看|