hibernate流程

作者: shineDeveloper | 来源:发表于2017-06-18 15:52 被阅读42次

    Hibernate的CRUD的准备工作:

    1):建立表t_user.
    2):建立模型对象:User类.
    3):编写DAO组件.
    DAO接口:IUserDAO
    DAO实现类:UserDAOImpl(暂时不提供方法实现)
    DAO测试类:UserDAOTest
    4):使用Hibernate依赖jar包.
    1).MySQL驱动包:mysql-connector-java-5.1.22.jar(勿忘)


    5)Hibernate的CRUD的配置文件:
    Hibernate的应用中主要包含两种配置文件.
    1):主配置文件(包含连接数据库的基本要素:驱动类名,URL,账号,密码,方言,包含映射文件)


    2):每一个Domain对象的映射文件(处理对象和表中的映射关系).

    操作数据库相关的对象

    Configuration对象:
    表示hibernate框架的配置对象,主要用于解析Hibernate配置文件和持久化映射文件中的信息,最重要的功能,是用来创建SessionFactory对象.(配置文件都要存放在CLASSPATH根路径).

    SessionFactory对象:
    1.负责创建Session对象.
    2.数据库的连接信息是配置SessionFactory;
    3.SessionFactory是线程安全的(DataSource),SessionFactory的创建需要很大的系统开销,实际上,在创建sessionFactory的时候才会去连接数据库,一般的,针对一个应用,一个数据库服务器,只需要一个SessionFactory实例就够了.
    4.抽取Hibernate工具类:HibernateUtil
    5.SessionFactory的重要方法:使用银行转账案例,说明openSession和getCurrentSession.

    ****根据对象和映射文件,在创建SessionFactory对象的时候,可以生成对应的数据表:****

    hibernate.hbm2ddl.auto=create-drop :删除并创建表,关闭SessionFactory时,删除数据库表.
    hibernate.hbm2ddl.auto=create :删除并创建表
    hibernate.hbm2ddl.auto=update :更新表结构:
    hibernate.hbm2ddl.auto=validate :验证表结构:如果表结构和映射文件不匹配,hibernate启动失败

    Session对象:
    1.主要方法:save/update/delete/get/createQuery/beginTransaction/getTransaction.
    2.session不是线程安全的(好比Connection对象),所以,session的最大生命周期:一个线程,在web应用当中,一个session的最大生命周期:request.
    3.Session中有一个缓存,称为一级缓存。存放当前工作单元加载的对象.
    在一个session的生命周期之内,连续拿相同类型,相同ID的对象,只需要发送一次SQL.
    4.一级缓存能提高一定的性能,但是有限.
    5.session加载出来的对象,都存放于一级缓存中进行管理.
    6.控制一级缓存的方法:
    clear():清空一级缓存所有对象

    Session中的方法的作用是用来改变对象的状态的,而不是发送SQL的.

    临时状态/瞬时态(transient):刚刚用new语句创建,没有被持久化,不处于session中。特点:没有oid,不在session当中
    持久化状态(persistent):已经被持久化,加入到session的缓存中。特点:有oid,在session当中
    脱管态/游离状态(detached):已经被持久化,但不处于session中。特点:有oid,不在session当中
    删除状态(removed):对象有关联的ID,并且在Session管理下,但是已经计划被删除。特点:有oid,在session当中,最终的效果是被删除.

    判断规则:
    1): 对象是否有OID;
    2): 判断对象是否被Session所管理(在一级缓存中).

    相关文章

      网友评论

        本文标题:hibernate流程

        本文链接:https://www.haomeiwen.com/subject/mpcbqxtx.html