你的位置:首页 > Java教程

[Java教程]hibernate集成


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

下面是集成hibernate的具体步骤

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

image

在classpath下创建并编写hibernate.cfg.

image

 

<??><!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. />  </session-factory></hibernate-configuration>

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

image

<??><!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.

image

测试

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

Configuration cfgt=new Configuration().configure();//创建配置对象将hibernate.cfg.    SessionFactory factory = cfgt.buildSessionFactory();//创建命令工厂    Session session = factory.openSession();//打开命令对象    Transaction tsc = session.beginTransaction();//开始事务        session.save(stu);将stu中的信息保存到数据库中(stu为已创建的实体类对象)        tsc.commit();//提交事务    session.close();//关闭命令对象