您的位置:首页 > 数据库 > MySQL

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

2014-08-09 00:07 260 查看

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

 

Hibernate4环境配置

建立Java工程,将lib下required文件夹下的所有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;
      }
      pu
b091
blic
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工厂
      }
}
结果:

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  hibernate 数据库 mysql