Hibernate插入、查詢、刪除操作 HQL (轉)


2008-03-13 12:03
Hibernate 語法:
Hibernate的所有的操作都是通過Session完成的.
基本步驟如下:
1:通過配置文件得到SessionFactory:
     SessionFactory sessionFactory=new Configuration().configure().buildSessionFactory();
2:通過SessionFactory 得到一個Session
     Session session=sessionFactory.openSession();
3:通過session進行插入,刪除,修改以及查詢.
    插入例子:(1)聲明一個事務;(2)Session執行save()操作;(3)事務提交;(4)關閉Session,可選.
              
          
             public void insert(Person p){
  
   Transaction tran=session.beginTransaction();
  
   session.save(p);
               
                tran.commit();
   
//   session.close();
            
             }
    
    修改例子:(1)聲明一個事務;(2)Session執行update()操作;(3)事務提交;(4)關閉Session,可選.
             public void update(Person p){

   Transaction tran=session.beginTransaction();
   session.update(p);
   tran.commit();
//   session.close();
   }
    刪除例子(主鍵刪除,推薦使用):(1) 聲明刪除的SQl語句;(2)創建session的Query對象;(3)設置Query對象的參數;(4)執行Query的executeUpdate()操作;(5)Session事務提交
     public void delete(int id){
   String hql="delete Person as p where p.id=?";
   Query query=session.createQuery(hql);
   query.setInteger(0,id);
   query.executeUpdate();
   session.beginTransaction().commit();

            }
   刪除例子(對象刪除):(1)聲明一個事務;(2)Session執行delete()操作;(3)事務提交;(4)關閉Session,可選.
  
    public void delete(Person p){
   Transaction tran = session.beginTransaction();
   session.delete(p);
  
   tran.commit();
   session.close();
  
   }
   查詢例子:(跟刪除差不多) 查詢語句不需要事務提交

(1) 聲明刪除的SQl語句;(2)創建session的Query對象;(3)設置Query對象的參數;
   public Persion queryById(int id){

   String hql="from Person as p where p.id=?";
   Query query=session.createQuery();
  
   query.setInteger(0,id);
   List rsList=query.list();

   iterator it=rsList.iterator();
   Person person=null;

   while(it.haseNext()){
     person=(Person)it.next();

    }

   return person;
   }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章