Hibernate常用接口

Hibernate接口

Criteria、 Query、 Transaction  查询依赖

Session

SessionFactory

Configuration

hibernate.cfg.xml    hibernate数据库配置       *.hbm.xml  持久化映射

 

Configuration类

Configuration类负责管理Hibernate的配置信息

Hibernate运行的底层信息:数据库的Url,用户名,密码,jdbc驱动类,数据库Dialect,数据库连接池等

Hibernate配置文件默认为Hibernate.cfg.xml

Hibernate映射文(*.hbm.xml)

 

Configuration config =new Configuration();                                生成对象

config.configure();                                                                       加载Hibernate配置和映射文件

SessionFactory sessionFactory = config.buildSessionFactory();  生成SessionFactory对象

 

 

SessionFactory  接口

会话工厂缓存了生成的sql语句和一些数据

对话在应用初始化时被创建

使用Hibernate访问多个数据库,需要对每个数据库使用一个SessionFactory

 

应用程序从工厂获得Session实例

Configuration config = new Configuration();

config.configure();

SessionFactory sessionFactory =config.buildSessionFactory();

 

 

Session  接口

Session 称为持久坏管理器,因为它是与持久化有关的操作连接接口

Session代表与数据库之间的一次操作

Session通过SessionFactory打开,在所有的工作完成后需要关闭

Seesion的使用在只能在一个线程中使用

 

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

SessionFactory sessionFactory = config.buildSessionFactory();

Session session = sessionFactory.getCurrentSession();(或者openSession)

 

Session包扩就是对数据库的增删改查

-save()保存

-get()/load();读取 区别get如果没有找到记录返回null   load没有找到,抛出违例

-update()更新

-delete()删除

 

Transaction  接口

Transaction从底层的事物实现中抽象出来的接口

或许是JDBC事务或者jta的事务这有助保持Hibernate应用在不同类型的执行环境或容器中的可移植性

使用Hibernate进行操作时必须显示的调用Transaction

 

Seession session=sessionFactory.getCurrentSession();

Transaction tx = session.beginTransaction();

...

tx.commit();

session.close();

 

Query接口

使用Query类型的对象可以方便我们对数据进行查询,它使用qbc,qbe,hql或者原生sql对数据执行查询操作

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

SessionFactory sessionFactory = config.buildSessionFactory();

Session session = sessionFactory.getCurrentSession();

Transaction tx =session.beginTransaction();

Query query =session.createQuery("from table");

List list = query.list();

tx.commit();

 

Criteria接口

Criteria接口和Query接口类似,它允许我们创建并且执行面向对象方式的查询

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

SessionFactory sessionFactory = config.buildSessionFactory();

Session session = sessionFactory.getCurrentSession();

Transaction tx =session.beginTransaction();

Criteria crit =session.createCriteria(Test.class);

Criterion criterion1 = Restrictions.like("name","张%");

crit.add(criterion1);

List list = crit.list();

tx.commit();

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值