Hibernate入门DEMO

1.        导入必要的jar包


2.        创建hibernate配置文件,并配置

在源码路径下创建hibernate.cfg.xml配置文件:
<?xmlversion='1.0' encoding='utf-8'?>
<!DOCTYPEhibernate-configuration PUBLIC
        "-//Hibernate/HibernateConfiguration DTD 3.0//EN"
       "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
 
<hibernate-configuration>
    <session-factory>
        <!-- Database connection settings 配置在了属性文件-->
        <propertyname="connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
        <propertyname="connection.url">jdbc:oracle:thin:@localhost:1521:orcl</property>
        <propertyname="connection.username">lijun</property>
        <propertyname="connection.password">123456</property>
 
        <!-- JDBC connection pool (use thebuilt-in) -->
        <propertyname="connection.pool_size">1</property>
 
        <!-- SQL dialect -->
        <propertyname="dialect">org.hibernate.dialect.Oracle10gDialect</property>
 
        <!-- Enable Hibernate's automaticsession context management -->
        <propertyname="current_session_context_class">thread</property>
 
        <!-- Disable the second-levelcache  -->
        <propertyname="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>
 
        <!-- Echo all executed SQL to stdout-->
        <propertyname="show_sql">true</property>
        <propertyname="format_sql">true</property>
 
        <!-- Drop and re-create the databaseschema on startup -->
        <propertyname="hbm2ddl.auto">update</property>
 
        <mappingresource="com/hibernate/hello/Student.hbm.xml"/>
        <!-- 实体映射使用注解的时候需要配置实体类 -->
        <mappingclass="com.hibernate.annotation.StudentAnno"/>
       
        <mappingclass="com.hibernate.one2one.Wife"/>
        <mappingclass="com.hibernate.one2one.Husband"/>
    </session-factory>
 
</hibernate-configuration>

3.        新建java实体类

package com.hibernate.hello;
 
public class Student {
       privateString id;
       privateString name;
       privateint age;
      
       publicString getId() {
              returnid;
       }
       publicvoid setId(String id) {
              this.id= id;
       }
       publicString getName() {
              returnname;
       }
       publicvoid setName(String name) {
              this.name= name;
       }
       publicint getAge() {
              returnage;
       }
       publicvoid setAge(int age) {
              this.age= age;
       }
      
}

 

4.        配置XML或者注解

              a)        配置XML方式

<?xmlversion="1.0"?>
<!DOCTYPE hibernate-mappingPUBLIC
        "-//Hibernate/Hibernate MappingDTD 3.0//EN"
       "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
 
<hibernate-mapping>
       <classname="com.hibernate.hello.Student">
              <idname="id"><generator class="uuid"/></id>
              <propertyname="name" />
              <propertyname="age" />
   </class>
      
</hibernate-mapping>

              b)       注解方式

packagecom.hibernate.annotation;
 
importjavax.persistence.Entity;
importjavax.persistence.GeneratedValue;
importjavax.persistence.Id;
importjavax.persistence.Table;
 
importorg.hibernate.annotations.GenericGenerator;
 
@Entity
@Table(name="StudentAnno")
public classStudentAnno {
       private String id;
       private String name;
       private int age;
      
       @Id
       @GenericGenerator(name="idGenerator",strategy="uuid")
       @GeneratedValue(generator="idGenerator")
       public String getId() {
              return id;
       }
       public void setId(String id) {
              this.id = id;
       }
       public String getName() {
              return name;
       }
       public void setName(String name) {
              this.name = name;
       }
       public int getAge() {
              return age;
       }
       public void setAge(int age) {
              this.age = age;
       }
      
}


5.        测试

Student s = new Student();
		s.setName("zhangsan");
		s.setAge(10);
		
		Configuration cfg = new Configuration();
		ServiceRegistry serviceRegistry =new ServiceRegistryBuilder().applySettings(cfg.getProperties()).buildServiceRegistry();
        SessionFactory sf = cfg.configure().buildSessionFactory(serviceRegistry);
        Session session = sf.openSession();
        session.beginTransaction();                    //事务开启
        session.save(s);                            //保存对象
        session.getTransaction().commit();
        session.close();    
        sf.close();


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值