Hibernate学习

                            Hibernate框架

一、Hibernate 简介


ORM:Object Relation Mapping  对象关系映射

 技术分享

二、 Hibernate核心组件

 1.Configecration 接口

 

 Hibernate.cfg.xml(核心配置)

 xxx.hbm.xml

2 SessionFactory 接口

3 Session接口

4 Tressaction接口

5 Hibernate执行流程

a.创建Configeration对象

b.读取hibernate.cfg.xmlxxx.hbm.xml

c.创建SessionFactory对象

   d.创建Sesssion对象

   e.执行CRUD操作

   f.在Transaction控制之下完成CRUD

三、Hibernate使用步骤

 1.加载Hibernate的jar包

 2 创建映射类(PO类)

 3 编写映射文件

 4 将映射文件映入hibernate.cfg.xml

 5 利用Session及Transaction进行数据库访问操作

    注意:加载数据库访问jar包

四、配置文件

 技术分享

注意:常用属性:

                a.show_sql(false/true)  b.formate_sql(false/true)

      c.hbm2.ddl.auto   d.jdbc.fetch_size   e.jdbc.batch.size

   2 设置数据访问连接池

         C3P0.min_size, C3P0.max_size, C3P0.timeout  (加载C3P0.jar文件)

技术分享

五、单条记录的获取

public Object get(Class c(获取的记录对应的类),Serializable id(序列化接口))

public Object load(Class c(获取的记录对应的类),Serializable id(序列化接口))

两者区别:1当数据不存在时,get返回空,而load抛出异常。

          2 get方法直接获取数据,load方法会触发懒加载

六、Session中的增删改

1、数据的持久化缓存

增:public int save(Object o) 返回增加记录主键值

删:public void delete(Object o) 返回删除记录主键值

修:public void update(Object o) 返回修改记录主键值

2、注意:增删改操作须通过事务提交完成向DB的发送。如:

 Transaction ta = session.beginTransaction();

 ta.commit();

技术分享七、持久化对象的状态

 技术分享

八、 HQL

1、简介      Hibernate Query Language 

          select */对象名.属性  from 类名 [as 对象名] [where 子句] [order by 子句]

2、使用方法:

          创建Query接口对象 

          Query q = session.createQuery(HQL);

                    List result = q.list();(存储着持久化状态的对象)

注意:1  若查询仅需要返回一个字段值,则list中可直接存储该字段值数据

      2 若查询返回多余一个但少于所有的字段个数,则需通过以下格式:

        select new Person(p.name,p.age) from Person as p

      3 若进行条件查询可使用“?”代替查询参数值,此时可在Query对象创建之后进行“?”的值设定,使用方法 setXxx(序号,值)

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。