hibernate集成

hibernate是一个优秀的持久化框架负责简化将对象保存到数据库中,或从数据库中读取数据并封装到对象的工作。hibernate通过简单配置和编码即可替代jdbc繁琐的程序代码。

下面是集成hibernate的具体步骤

下载hibernate的.jar包并在项目中进行引用

image

在classpath下创建并编写hibernate.cfg.xml配置文件

image

 

<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
        "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
        "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">

<hibernate-configuration>

    <session-factory>

        <!-- 数据连接配置 -->
        <property name="connection.driver_class">oracle.jdbc.OracleDriver</property><!--驱动类的全名称-->
        <property name="connection.url">jdbc:oracle:thin:@localhost:1521:orcl</property><!--数据库连接的url-->
        <property name="connection.username">WZ</property><!--用户名-->
        <property name="connection.password">*****</property><!--密码-->


        <!-- 配置SQL方言 -->
        <property name="dialect">org.hibernate.dialect.Oracle10gDialect</property>

        <!-- 设置Session上下文-->
        <property name="current_session_context_class">thread</property>
        <!-- 格式化sql -->
        <property name="format_sql"> true</property>

        <!-- 在控制台显示hibernate自动生成的sql语句 -->
        <property name="show_sql">true</property>
    <!--格式换在控制台显示的sql语句-->
    <property name="hbm2ddl.auto">
        update
    </property>
        <!--数据实体类的配置文件的引用-->
        <mapping resource="xxx.hbm.xml" />

    </session-factory>

</hibernate-configuration>

创建并编写实体类的配置文件

image

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
        "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
        "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="student_entity">

    <class name="类名" table="表名">
    主键类配置
        <id name="sid" column="stuno">
            <generator class="sequence">
                <param name="sequence">
                SQL_ID
                </param>
                
            </generator>
            
        </id>
属性配置
        <property name="sage"/>
        <property name="name" column="stuname"/>
      
    </class>

</hibernate-mapping>

其中<generator class=””/>配置主键的生成策略其取值如下:

increment:对类型为long、short、int类型的主键,已自动增长的方式生成主键的值,增量为1

sequence:对于支持序列的数据库可使用序列来给主键赋值其通过param子元素来指定序列名

identity:对支持标识列的数据库可使用该策略。但需要在数据控的该列设置为标识列

native:由hibernate自动判断使用何种策略

assigned:主键有应用程序生成,hibernate无需参与

在实体类的配置文件编写完成之后还要在hibernate.cfg.xml文件中添加该配置文件的引用如图:

image

测试

以上步骤全部完成后就可以在程序中使用hibernate提供的api来进行数据操作,

Configuration cfgt=new Configuration().configure();//创建配置对象将hibernate.cfg.xml文件中的信息封装到cfgt对象中
        SessionFactory factory = cfgt.buildSessionFactory();//创建命令工厂
        Session session = factory.openSession();//打开命令对象
        Transaction tsc = session.beginTransaction();//开始事务
        
        session.save(stu);将stu中的信息保存到数据库中(stu为已创建的实体类对象)
        
        tsc.commit();//提交事务
        session.close();//关闭命令对象
posted @ 2016-08-05 10:26  王哲(真)  阅读(862)  评论(0编辑  收藏  举报