Hibernate4学习(1) 建立简单的Hibernate程序

Hibernate4快速入门
本文介绍如何使用Hibernate4搭建简易程序,包括环境配置、实体类与映射文件编写及测试类实现,展示了通过Hibernate进行数据库操作的基本流程。

Hibernate4学习(1) 建立简单的Hibernate程序

 

Hibernate4环境配置

建立Java工程,将librequired文件夹下的所有jar添加到工程builpath下,在src下创建hibernate.cfg.xml配置文件

1、  相关包


2、  Hibernate4配置文件

<?xmlversion='1.0'encoding='utf-8'?>

<!DOCTYPEhibernate-configuration PUBLIC

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

        "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">

<hibernate-configuration>

    <session-factory>

        <!--数据库连接设置 -->

        <propertyname="connection.driver_class">com.mysql.jdbc.Driver</property>

        <propertyname="connection.url">jdbc:mysql://localhost:3306/test</property>

        <propertyname="connection.username">root</property>

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

      

        <!-- 方言 -->

        <propertyname="dialect">org.hibernate.dialect.MySQL5Dialect</property>

     

        <!-- 控制台显示SQL -->

        <propertyname="show_sql">true</property>

 

        <!-- 自动更新表结构 -->

        <propertyname="hbm2ddl.auto">update</property>

       

           <mappingresource="com/stiny/model/Student.hbm.xml"/>

    </session-factory>

</hibernate-configuration>

3、  编写实体类及hbm.xml文件

public class Student {

 

      private long id;

      private Stringname;

     

      public long getId() {

           returnid;

      }

      public void setId(long id) {

           this.id = id;

      }

      public String getName() {

           returnname;

      }

      public void setName(String name) {

           this.name = name;

      }

}

对应的hbm.xml文件

<?xmlversion="1.0"?>

<!DOCTYPEhibernate-mapping PUBLIC

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

        "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">

 

<hibernate-mappingpackage="com.stiny.model">

      <classname="Student"table="t_student">

           <idname="id"column="stuId">

                 <generatorclass="native"></generator>

           </id>

          

           <propertyname="name"></property>

      </class>

</hibernate-mapping>

Hbm.xml文件的一般格式:

<?xmlversion="1.0"?>

<!DOCTYPEhibernate-mapping PUBLIC

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

        "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">

<hibernate-mapping  package="包名">

<class name="类名" table="表名">

                  <id name="主键在java类中的字段名"  column="对应表中字段"     type="类型 ">

                           <generator  class="主键生成策略"/>

 

</id>

         ……

    </class>

 

</hibernate-mapping>

说明:

(1)      主键(id)

native

根据底层数据库的能力选择identity, sequence或者hilo中的一个。

4、测试类及结果

package com.stiny.service;

 

import org.hibernate.Session;

import org.hibernate.SessionFactory;

import org.hibernate.boot.registry.StandardServiceRegistryBuilder;

import org.hibernate.cfg.Configuration;

import org.hibernate.service.ServiceRegistry;

 

import com.stiny.model.Student;

 

public class StudentTest {

      public static void main(String[] args) {

          

           Configuration configuration=new Configuration().configure();// 实例化配置文件

           ServiceRegistry serviceRegistry=new StandardServiceRegistryBuilder().applySettings(configuration.getProperties()).build();// 实例化服务登记

          SessionFactory sessionFactory=configuration.buildSessionFactory(serviceRegistry);// 获取Session工厂

          Session session=sessionFactory.openSession(); // 生成一个session

          session.beginTransaction(); // 开启事务

         

          Student s=new Student();

          s.setName("张三");

          session.save(s);

         

          session.getTransaction().commit(); // 提交事务

          session.close(); // 关闭session

          sessionFactory.close(); // 关闭session工厂

      }

}

结果:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值