`
heimeiyingwang
  • 浏览: 94924 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Hibernate知识辅导(1)

阅读更多

 

Hibernate数据持久化组件

 

对象持久化,把数据保存在永久的存储介质中(数据库)

OR/Mobject relation mapping对象关系映射。

POJO(Plain Old Java Object),就是标准的Java Bean

Hibernate就是一个可以自动的根据xml完成对象关系映射,并持久化到数据库的开源组件。

Hibernate的底层也是JDBC实现的。

Hibernate是通过xml文件的配置,对数据库的底层的方言,以及数据库连接所需的信息,以及连接数据库的驱动。Hibernate的系统配置文件的名字一般叫做hibernate.cfg.xml,映射类的配置文件的命名一般是类名.hbm.xml。一般将映射类的xml文件和实体类放在一起。

 

hibernate.cfg.xml中会设置数据库的连接信息,以及引用的其他文件的文件名,和一些其他的摄制。这个文件一般放在项目的根目录下。

 

hibernate.cfg.xml的写法

<!DOCTYPE hibernate-configuration PUBLIC

     "-//Hibernate/Hibernate Configuration DTD 3.0//EN"

     "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

<hibernate-configuration>

     <session-factory>

     <property name="show_sql">true</property><!--显示sql语句-->

     <property name="format_sql">true</property><!--使显示的sql语句格式化-->

     <property name="dialect">....</property><!--使用的数据库方言信息-->

        <property name="connection.driver_class">....</property>

     <!--使用的数据库的驱动-->

     <property name="connection.url">....</property><!--连接数据库使用的url-->

        <property name="connection.username">...</property>

     <!--连接数据库的用户名-->

     <property name="connection.password">...</property>

     <!--连接数据库的密码-->

     <mapping resource="xxx/xxxx/Xxxxxx.hbm.xml"/>

     <!—引入映射文件,要写类的映射的xml文件的全路径及文件名-->

     </session-factory>

</hibernate-configuration>

 

 

Hibernate中类的映射的XXXX.hbm.xml的写法

 

<?xml version="1.0" encoding="gbk"?>

<!DOCTYPE hibernate-mapping PUBLIC

     "-//Hibernate/Hibernate Mapping DTD 3.0//EN"

     "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

    

<hibernate-mapping package="XXX.XXX.XXX"><!--映射类所在的包-->

     <class name="Xxxxxx" table="Xxxxx"><!--将类和数据库的表联系起来-->

         <id name="studentId" column="studentId"><!--主键生成策略-->

              <generator class="assigned"/>

              <!--指定主键生成策略为用户指定-->

            <!--还可以指定其他的主键声称策略-->

         </id>

         <property name="XXX" column="XXXX" type="string"/>

         <!--类中的书性和字段之间建立联系-->

         <property name="homeAddress" column="homeAddress"/>

         <property name="schoolAddress" column="schoolAddress"/>

         <property name="brithday" column="brithday" type="data"/>

        <!--hibernate中其他类型可以自动识别只有Data类型必须指名-->

    </class>   

</hibernate-mapping>

 

使用Hibernate编程步骤

1,配置环境,加载Hibernatejar文件,以及连接数据库连接使用的jar文件,并配置CLASSPATH环境变量。

2,写hibernate所需的配置文件,hibernate.cfg.xml Xxxxx.hbm.xml

3,写POJO

4,调用hibernate类中的方法

    1)使用Configuration对象的buildSessionFactory()方法创建SessionFactory对象

    2)使用SessionFactory对象openSession()方法创建Session对象。

3)使用Session的相应方法来操作数据库,将对象信息持久化到数据库。

 

获得Session实现类对象的工厂

import org.hibernate.HibernateException;

import org.hibernate.Session;

import org.hibernate.cfg.Configuration;

 

public class HibernateSessionFactory {

 

     private static final Configuration cfg = new Configuration();

 

     private static SessionFactory sessionFactory=null;

 

     public static Session getSession() throws HibernateException {

              try {

                       cfg.configure();

                       sessionFactory = cfg.buildSessionFactory();

                   } catch (Exception e) {

                       e.printStackTrace();

                   }

              }

         }

 

         return session;

     }

 

     public static void closeSession() throws HibernateException {

         Session session = (Session) threadLocal.get();

         threadLocal.set(null);

 

         if (session != null) {

              session.close();

         }

     }

 

     private HibernateSessionFactory() {

     }

 

}

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics