Hibernate增删改查

Hibernate增删改查

Hibernate中增删改查都是基于session对象的。所以所有操作之前都要获取session.

Session有两个形式,一种是注解形式的,一种是普通方式。

1.普通方式

publicclass HibernateUtil {

    privatestatic String CONFIG_FILE_LOCATION = "/hibernate.cfg.xml";

    privatestaticfinal ThreadLocal<Session> threadLocal = new ThreadLocal<Session>();

    private  static Configuration configuration = newConfiguration();    

   }

2.注解方式

publicclass HibernateUtil {

    privatestatic String CONFIG_FILE_LOCATION = "/hibernate.cfg.xml";

    privatestaticfinal ThreadLocal<Session> threadLocal = new ThreadLocal<Session>();

    private  static Configuration configuration = new AnnotationConfiguration();    

   }

 HibernateUtil 类myeclipse自动生成即可

 

       Session session = HibernateUtil.getSession();

        Transaction tx = session.beginTransaction();//开启事物

        session.save(实体对象);

        tx.commit();//提交事物

 

 

       Session session = HibernateUtil.getSession();

        Transaction tx = session.beginTransaction();

        session.delete(实体对象);

        tx.commit();

Session session = HibernateUtil.getSession();

        Transaction tx = session.beginTransaction();

        session.update(实体对象);

        tx.commit();

查询

常用的查询有两种形式:

1.hql查询

A.无参数的查询

Session session = HibernateUtil.getSession();

Query query = session.createQuery("from 实体类名");

      List<实体类名> list=query.list();

B.带参数查询

    Session session = HibernateUtil.getSession();

       Query query = session.createQuery("from 实体类名 where 属性名=?");

      query. setParameter (0,”属性的值”);

       List<实体类名> list=query.list();

         (2). Criteria查询

          A.无参数的查询

                  Criteria criteria = session.createCriteria(实体名.class);

                   List<实体类名> list = criteria.list();

   B.带参数查询

                Criteria criteria = session.createCriteria(实体名.class);

                  criteria.add(Restrictions.eq(“属性名称”, “属性值”));

                List<实体类名> list = criteria.list();

                  其中eq为等于除此之外还有like模糊查询,gt大于,lt小于等。

  

 

 

 C.表连接查询

        Criteria criteria = session.createCriteria(实体名1.class,”别名”);

        criteria.createAlias("实体2属性名", "别名");

        List<实体类名> list = criteria.list();

         实体2属性名:是属性名字,就是实体1中关联的实体2的属性名,不是实体名

         

 

         

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值