<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
    主站蜘蛛池模板: 四虎影视在线看免费观看| 久久伊人久久亚洲综合| 亚洲人成网站免费播放| 精品久久久久成人码免费动漫| 亚洲综合无码一区二区| AAA日本高清在线播放免费观看| 无码欧精品亚洲日韩一区夜夜嗨 | 亚洲成a人片在线观看中文!!! | 亚欧免费视频一区二区三区| 亚洲avav天堂av在线不卡| 无码AV片在线观看免费| 久久精品亚洲精品国产色婷| 91高清免费国产自产拍2021| 亚洲精品午夜在线观看| 日韩欧毛片免费视频 | 一区二区三区免费在线视频| 亚洲国产精品丝袜在线观看| 国产精品免费久久久久影院| 国产亚洲A∨片在线观看 | 免费观看激色视频网站(性色)| 亚洲专区一路线二| 女人被男人躁的女爽免费视频| 亚洲Aⅴ在线无码播放毛片一线天| 国产成人精品免费视频软件| 国产精品无码免费专区午夜| 西西人体44rt高清亚洲 | 猫咪免费人成网站在线观看| 亚洲午夜成激人情在线影院| 日本一道在线日本一道高清不卡免费 | 亚洲中文字幕无码爆乳app| 国产又大又长又粗又硬的免费视频 | 德国女人一级毛片免费| 精品久久亚洲一级α| 亚洲人成77777在线播放网站| 99在线在线视频免费视频观看 | 曰批全过程免费视频观看免费软件| 亚洲精品无码久久一线| 久久国产免费福利永久| 猫咪免费观看人成网站在线| 亚洲爱情岛论坛永久| 国产成人无码免费视频97|