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;
   }