Hibernate基础

---------Hibernate使用过程解释
    1-使用MyEclipse创建hibernate支持。
        (1).生成hibernate.cfg.xml的文件,这个文件里面是连接数据库的一些信息,包括登陆数据库所用的管理员的账号和密码。
          
        (2).此时会生成一个HibernateSessionFactory.java。的类这里面的代码不用改,直接可以用。

    2-创建实体类,该类要实现 Serializable这个接口,

    3-在改实体类的同包的目录下创建 "类名.hbm.xml"的文件,在此文件中配置改实体类的属性,准备在数据库里面创建此类对应 的表。

-----------------------代码-----------------------

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC 
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

<hibernate-mapping>
<class name="com.test.entity.User"
table="t_user" schema="scott">//将在数据库里建表名"t_user"

<id name="id" column="userid"> //

<generator class="sequence">//指定自增长的序列,运行的时候自己创建序列
<param name="sequence">seq_userid</param>
</generator>
</id>
//以下是该表的其他列
<property name="name" column="name" length="20" type="java.lang.String"/>
<property name="pwd" column="pwd" />

</class>
</hibernate-mapping>

 


4-创建业务逻辑层在这里将会用到使用Hibernate的七个步骤

Configuration > 创建SessionFactory > 打开Session > 开始一个事务 > 持久化操作(save/update/delete/find) > 提交事务(ta.commit()) > 关闭Session


    在Dao层创建两个静态的对象
      private static SessionFactory sf = null;
      private static Session ss = null;

七个步骤:
        public static void main(String[] args) {

      1-Configuration
        Configuration cfg = new Configuration().configure();

      2-创建sessionFactory
        sf = cfg.buildSessionFactory();

      3-打开session
        ss = sf.openSession();
        Transaction ta = ss.beginTransaction();
        User user = new User(1,"风分手", "123");

       4-开始一个事务
        ss.save(user);

      5-提交事务
        ta.commit();

      6-关闭session
        if( ss != null)
        ss.close();
        if( sf != null)
        sf.close();
     }

这里会有两种get 和set方法以后再讲



    --心得
      Hibernate主要是对MVC模式中的Dao层进行优化的一种框架,如果配置好的话只需要使用框架提供
      的(save,update,delete,find)四种方法进行操作,将数据访问的细节和业务逻辑分开,降低了Dao层
      重复的弊端,和Dao层数据的维护和修改的难度,

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