Hibernate的增删改查

来源:互联网 发布:网络医疗美容咨询难吗 编辑:程序博客网 时间:2024/04/25 23:09
 

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;

   }


原创粉丝点击