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

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

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

    posts - 60,comments - 71,trackbacks - 0

        1、讀取配置文件獲得連接
       讀取hibernate.cfg.xml配置文件,hibernate.cfg.xml文件放在Classpath下,使用下面的方式讀入該文件
          //Configuration 負(fù)責(zé)管理hibernate配置信息
          Configuration config=new Configuration().configure();
          //根據(jù)config建立SessionFactory
          //SessionFactory用于建立Session
          SessionFactory sessionFactory=config.buildSessionFactory();
          //開啟session,相當(dāng)于jdbc的Connection
          session = sessionFactory.openSession();

    2、Criteria 基本資料查詢
    (1)標(biāo)準(zhǔn)查詢:
          //創(chuàng)建查詢標(biāo)準(zhǔn)
          Criteria criteria=session.creteCriteria(User.class);
          //查詢條件
          criteria.add(Expression.eq("name","caterpillar"));
    ************************************************************************************
    Expression.eq(String s1,String s2)---------->相等s1=s2
    Expression.allEq(Map map)    --------------->多個(gè)屬性-值對(duì)應(yīng)關(guān)系,多個(gè)Expression.eq疊加
    Expression.gt(String s1,String s2)----------->大于s1>s2
    Expression.ge(String s1,String s2)----------->大于等于s1>=s2
    Expression.lt(String s1,String s2)------------>小于s1<s2
    Expression.le(String s1,String s2)------------>小于等于s1<=s2
    Expression.between(String s1,int s2,int s3)--->s2<s1<s3
    Expression.like(String s1,String s2)------------>s1 like s2
    比較2個(gè)屬性
    Expression.eqProperty(String s1,String s2)--->s1=s2
    Expression.gtProperty(String s1,String s2)---->s1>s2
    Expression.geProperty(String s1,String s2)---->s1>=s2
    Expression.ltProperty(String s1,String s2)----->s1<s2
    Expression.leProperty(String s1,String s2)----->s1<=s2
    Expression.and()----->Expression.and(Expression.eq("String s1,String s2"),Expression.eq(String s3,String s4))
    Expression.or()
    ************************************************************************************
    (2)高級(jí)查詢
    一、可以使用Criteria進(jìn)行查詢,并用order對(duì)結(jié)果進(jìn)行排序。
    //設(shè)置從第幾條開始取的記錄
    criteria.setFirstResult(100);
    //最多取的幾條記錄
    criteria.setMaxResults(20);
    //對(duì)結(jié)果進(jìn)行排序
    criteria.addOrder(Order.asc(String s1));
    criteria.addOrder(Order.desc(String s2));

    二、可以對(duì)查詢結(jié)果進(jìn)行統(tǒng)計(jì)操作,使用Projections的rowCount(),count(),max(),min(),countDistinct()等方法:
    例如:criteria.setProjection(Projections.max("age"));

    三、還可以用Projections的groupProperty()來對(duì)結(jié)果進(jìn)行分組
    例如:criteria.setProjection(Projections.groupProperty("age"));

    (***)四、結(jié)合統(tǒng)計(jì)與分組的功能,可以用ProjectionList
    例如:ProjectionList projectionList =Projections.projectionList();
                projectionList.add(Projections.groupProperty("age"));
                projectionList.add(Projections.rowCount());
                criteria.setProjection(projectionList);
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
          //查詢所有記錄
          List users=criteria.list();
          Iterator iterator=users.iterator();
          while(iterator.hasNext()){
             User user=(User)iterator.next();
             System.out.println(user.getId()+"\t"+user.getName()+"/"+user.getAge());
    }
    3、criteria的增、刪、改(還不完善)
    在用到增、刪、改時(shí),必須先聲明事務(wù)
    增加:
      Transaction tx = session.beginTransaction();//Transaction表示一組會(huì)話操作
      session.save(user);//將事物映射到數(shù)據(jù)庫進(jìn)行存儲(chǔ)
      tx.commit();
      session.close();
    刪除:
      Session session=this.getSession();
      User user=(User)session.get(User.class, new Integer(1));
      Transaction tx = session.beginTransaction();//Transaction表示一組會(huì)話操作
      session.delete(user);//將事物映射到數(shù)據(jù)庫進(jìn)行存儲(chǔ)
      tx.commit();
      session.close();

    修改:
      Session session=this.getSession();
      User user =(User)session.get(User.class,new Integer(2));//創(chuàng)建持久化的事物
      user.setName("wyqqqqqqqqqq");
      user.setAge(new Integer(30));
      Transaction tx = session.beginTransaction();//Transaction表示一組會(huì)話操作
      session.update(user);//將事物映射到數(shù)據(jù)庫進(jìn)行存儲(chǔ)
      tx.commit();
      session.close();
    posted on 2008-05-18 20:41 henry1451 閱讀(458) 評(píng)論(0)  編輯  收藏 所屬分類: Hibernate技術(shù)
    主站蜘蛛池模板: 国产人在线成免费视频| 东方aⅴ免费观看久久av| 亚色九九九全国免费视频| 亚洲av无码一区二区三区乱子伦 | 含羞草国产亚洲精品岁国产精品| 黄色网址免费观看| 亚洲国产精品久久人人爱| 在免费jizzjizz在线播| 亚洲国产综合精品| 97视频热人人精品免费| 中文字幕亚洲综合久久综合| 欧洲精品成人免费视频在线观看| 亚洲综合国产成人丁香五月激情| 成人片黄网站色大片免费| 美国毛片亚洲社区在线观看| 免费日本黄色网址| 99久久免费国产精精品| 亚洲午夜国产精品无码老牛影视| 久爱免费观看在线网站 | 亚洲日本VA午夜在线电影| 国产成人免费一区二区三区| 无码天堂亚洲国产AV| 区三区激情福利综合中文字幕在线一区亚洲视频1 | 久久av无码专区亚洲av桃花岛| 最近中文字幕大全中文字幕免费| 亚洲一级免费视频| 免费在线观看理论片| 99热在线日韩精品免费| 亚洲第一页在线观看| 特级淫片国产免费高清视频| 一道本不卡免费视频| 亚洲人成电影亚洲人成9999网| 黄色网址免费大全| 一级片在线免费看| 亚洲精品一区二区三区四区乱码| 在线观看免费毛片| 免费污视频在线观看| 国产精品高清视亚洲一区二区| 亚洲精品无码久久久久AV麻豆| 日韩精品人妻系列无码专区免费| 亚洲国产成人久久一区二区三区|