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();