现在的位置: 首页 > 综合 > 正文

Hibernate Session

2014年02月25日 ⁄ 综合 ⁄ 共 1245字 ⁄ 字号 评论关闭

    Session是hibernate的基础。Session作为贯穿Hibernate的持久化管理核心,提供了很多持久化方法,如 save、update、delete等。通过这些方法,我们即可完成对象的增删改查。

   Hibernate Session的设计是非线程安全(一个实例同时只可由一个线程使用)

   Session实例由SessionFactory构建

   Configuration config=new Configuratrion().configure();

   SessionFactory sessionFactory=config.bulidSessionFactory();

   Session session=sessionFactory.openSession();

   之后我就可以调用Session所提供的各种方法完成持久层操作:

  

   1.Save

   Tuser user=new Tuser();

   user.setName("name");

   session.save(user);

 

  2.Get

   Tuser user=(TUser)session.get(TUser.class,new Integer(1));

 

  3.delete

//假设T_User表中存在id=1的记录

   TUser user =(TUser)session.get(TUser.class,new Integer(1));

   session.delete(user);

//也可以通过HQL指定删除条件

 session.delete("from TUser where id=1");

//通过Query接口进行基于HQL的删除操作

String hql="delete TUser where id=1";

Query query=sesssion.createQuery(hql);

query.executeUpdate();

 

4.find

//返回数据库中所有名字为name的用户名

String hql="from TUser where name='name'";

List userList=session.find(hql);

 

    Hibernate3中取消了find方法,我们必须通过Query或Criteria接口进行数据查询。

    通过Query接口进行数据查询

    String hql="from TUser user Where user.name like ?";

    Query query=session.createQuery(hql);

    query.setParametert(0,"name");

    List list=query.list();

    Iterator it=list.iterator();

    while(it.hasNext()){

         TUser user=(TUser)it.next();

          System.out.println(user.getName);

    }

  

抱歉!评论已关闭.