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

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

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

    gembin

    OSGi, Eclipse Equinox, ECF, Virgo, Gemini, Apache Felix, Karaf, Aires, Camel, Eclipse RCP

    HBase, Hadoop, ZooKeeper, Cassandra

    Flex4, AS3, Swiz framework, GraniteDS, BlazeDS etc.

    There is nothing that software can't fix. Unfortunately, there is also nothing that software can't completely fuck up. That gap is called talent.

    About Me

     

    JPA查詢

    1.查詢所有信息
    Query q = em.createQuery("select u from Userinfo u");
    List list =q.getResultList();
    如果查詢結果是多個,應該使用Query接口的getResultList方法,如果查詢結果只有一個,可以使用Query接口的getSingleResult方法。
    命名查詢:
    @NamedQuery(name = "findAllUser", query = "SELECT u FROM Userinfo u")
    name表示該查詢的名字,query是查詢語句本身。命名查詢可以寫在實體類中,第一次課生成的實體類中就有多個命名查詢。
    對于命名查詢可以使用EntityManager的createNamedQuery方法,要訪問上面的查詢可以使用下面的代碼:
    Query q = em.createNamedQuery("findAllUser");
    List<Userinfo> list =q.getResultList();
    createNamedQuery方法的參數命名查詢的名字。
    2.使用Query完成分頁
    分頁顯示就是每次只顯示部分對象的信息。要顯示哪一部分信息取決于從什么地方開始顯示,顯示到什么地方。Query接口可以控制要獲取的記錄,有兩個方法來設置要獲取的第一條記錄和最后一條記錄。兩個方法的定義分別如下:
    setMaxResults(int maxResult),參數是要查詢的最大記錄數。
    setFirstResult(int startposition),參數是第一個要查詢的記錄的位置。
    通過這兩個屬性完成分頁顯示。
    注意:分頁必須用apache-openjpa-1.0.2-binary.zip , 1.0.1不起作用是個Bug
    3.條件查詢
    條件查詢,需要在查詢語句中使用變量,可以有兩種方式:位置參數和名字參數。
    位置參數
    在位置參數中,使用“?”號加上參數的序號的方式表示參數。
    例,根據用戶名username查詢用戶。
    SELECT u FROM Userinfo u where u.username = ?1
    1表示第一個參數。
    在位置參數中,可以使用多個參數,可以用不同的數字表示。同一個參數可以在查詢中出現多次。
    名字參數
    在名字參數種,使用“:”號加上參數的名字的方式表示參數。
    例,根據用戶類型查詢用戶。
    SELECT u FROM Userinfo u WHERE u.usertype = :usertype
    “:”號后面的usertype就是參數的名字。
    不管是位置參數還是名字參數都可以在命名查詢中使用。
    位置參數的賦值通過Query接口的相應方法完成,主要方法如下:
    public Query setParameter(int position,Object value)
    public Query setParameter(int position,Date value,TemporalType temporalType)
    public Query setParameter(int position,Calendar value,TemporalType temporalType)
    用于名字參數的賦值方法基本相同,只是第一個參數用于指定參數的名字。主要方法如下:
    public Query setParameter(String name,Object value)
    public Query setParameter(String name,Date value,TemporalType temporalType)
    public Query setParameter(String name,Calendar value,TemporalType temporalType)
    例1:使用前面介紹的根據用戶名進行查詢的語句。
    Query q = em.createQuery("SELECT u FROM Userinfo u where u.username = ?1");
    q = q.setParameter(1,username);
    List<Userinfo> list =q.getResultList();
    例2:使用前面介紹的根據用戶類型進行查詢的語句。
    Query q = em.createQuery("SELECT u FROM Userinfo u WHERE u.usertype = :usertype");
    q = q.setParameter("usertype",usertype);
    List<Userinfo> list =q.getResultList();
     Query接口的方法參考書上370頁Query接口部分。關于EntityManager接口的方法參考書上358頁EntityManager接口部分。

    posted on 2008-03-20 01:50 gembin 閱讀(2603) 評論(0)  編輯  收藏 所屬分類: JavaEE

    導航

    統計

    常用鏈接

    留言簿(6)

    隨筆分類(440)

    隨筆檔案(378)

    文章檔案(6)

    新聞檔案(1)

    相冊

    收藏夾(9)

    Adobe

    Android

    AS3

    Blog-Links

    Build

    Design Pattern

    Eclipse

    Favorite Links

    Flickr

    Game Dev

    HBase

    Identity Management

    IT resources

    JEE

    Language

    OpenID

    OSGi

    SOA

    Version Control

    最新隨筆

    搜索

    積分與排名

    最新評論

    閱讀排行榜

    評論排行榜

    free counters
    主站蜘蛛池模板: 亚洲国产美女精品久久久久| 亚洲av中文无码乱人伦在线r▽ | 91大神免费观看| 亚洲色成人WWW永久在线观看| 免费一级毛片在线播放放视频| 国产精品久久久久久久久久免费| 亚洲视频网站在线观看| 222www免费视频| 国产精品亚洲精品| 成人人观看的免费毛片| 亚洲一区二区三区丝袜| 卡一卡二卡三在线入口免费| 国产精品亚洲色图| 亚洲人成网站观看在线播放| 99久久免费国产精品热| 亚洲高清在线观看| 无码永久免费AV网站| 久久亚洲精品11p| 久久精品国产精品亚洲艾草网美妙 | 亚洲熟妇无码爱v在线观看| 99久久99久久免费精品小说| 亚洲不卡视频在线观看| 日韩一级视频免费观看| 一级一级一片免费高清| 久久精品国产亚洲AV高清热 | 亚洲精品黄色视频在线观看免费资源 | 99久久久国产精品免费蜜臀| 亚洲人成电影院在线观看| 女人18毛片水最多免费观看| 黄色网址大全免费| 亚洲AV永久青草无码精品| 97在线线免费观看视频在线观看| 亚洲AV无码国产精品永久一区| 亚洲综合精品网站在线观看| 老汉精品免费AV在线播放| 亚洲中文字幕久久精品无码VA| 亚洲伊人成无码综合网| 麻花传媒剧在线mv免费观看| 人人爽人人爽人人片A免费| 亚洲av无码乱码国产精品| 免费观看的毛片手机视频|