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

          導(dǎo)航

          隨筆分類(86)

          隨筆檔案(85)

          搜索

          •  

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

           
                  hql 是一種近似于sql的db查詢語(yǔ)言。但它操作的元素已經(jīng)由表名變?yōu)閜ojo類名,由表字段變?yōu)閜ojo的屬性名。這為程序員徹底的使用類來(lái)寫程序和查詢語(yǔ)句提供了方便。但大多數(shù)據(jù)程序員可能不知道,寫hql查詢其實(shí)也有它的編輯器,這就是myeclipse提供的 hql edit編輯器。
                  怎樣來(lái)使用hql edit呢?
                    1.創(chuàng)建一個(gè)hibernate 工程。然后在工程里添加一個(gè)hqlTest.hql文件。后綴必須是hql。
                    2.右擊此文件,打開(kāi)方式里應(yīng)該有myeclipse hql editor 選項(xiàng)。如果沒(méi)有,請(qǐng)?jiān)趀clipse的首選項(xiàng)里的文件關(guān)聯(lián)里把*.hql編輯器指定為myeclipse hql editor.
                   3.打開(kāi)后的編輯界面應(yīng)該是下面的樣子:

          寫完后,點(diǎn)擊綠色的三角按鈕就是查詢。結(jié)果會(huì)出現(xiàn) 在編輯器的下方。如果你的hql沒(méi)問(wèn)題的話。
          posted on 2008-11-17 14:19 智者無(wú)疆 閱讀(2401) 評(píng)論(3)  編輯  收藏 所屬分類: about java
          評(píng)論:
          • # re: spring service層的測(cè)試[未登錄](méi)  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具體事務(wù)回滾能力,這樣測(cè)試數(shù)據(jù)不會(huì)成為臟數(shù)據(jù).而且具有open session in test能力
            * 同時(shí)也就解決了lazy load 問(wèn)題.但如果不想回滾的話,得注意每個(gè)test*方法結(jié)束前加上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.測(cè)試類
            -------------------------------------------------
            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二級(jí)緩存查詢的情況:");
            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("使用時(shí)間 :"+(System.currentTimeMillis()-timeStart)+" 毫秒");

            Long timeStart2 =System.currentTimeMillis();
            System.out.println("第二次使用hibernate二級(jí)緩存查詢的情況:");
            System.out.println("使用時(shí)間 :"+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("使用時(shí)間 :"+(System.currentTimeMillis()-timeStart2)+" 毫秒");
            }



            }
              回復(fù)  更多評(píng)論   

          • # re: hql editor 的使用[未登錄](méi)  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";  回復(fù)  更多評(píng)論   

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

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


             觀音菩薩贊

          主站蜘蛛池模板: 太和县| 永安市| 札达县| 彭阳县| 揭阳市| 葫芦岛市| 元氏县| 苗栗县| 台前县| 琼海市| 扎赉特旗| 胶南市| 固始县| 湘乡市| 恩施市| 桐梓县| 淅川县| 梁平县| 固始县| 海淀区| 门源| 重庆市| 通许县| 永吉县| 绵阳市| 舒兰市| 大方县| 安阳市| 和田县| 苍山县| 平山县| 虎林市| 资阳市| 墨江| 富裕县| 达州市| 南宁市| 黎平县| 苍溪县| 永福县| 呼图壁县|