一、快速起步
新建一个maven项目
导入依赖
<dependencies>
<dependency>
<groupId>antlr</groupId>
<artifactId>antlr</artifactId>
<version>2.7.7</version>
</dependency>
<dependency>
<groupId>dom4j</groupId>
<artifactId>dom4j</artifactId>
<version>1.6.1</version>
</dependency>
<dependency>
<groupId>org.hibernate.common</groupId>
<artifactId>hibernate-commons-annotations</artifactId>
<version>4.0.2.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>4.2.4.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate.javax.persistence</groupId>
<artifactId>hibernate-jpa-2.0-api</artifactId>
<version>1.0.1.Final</version>
</dependency>
<dependency>
<groupId>org.javassist</groupId>
<artifactId>javassist</artifactId>
<version>3.15.0-GA</version>
</dependency>
<dependency>
<groupId>org.jboss.logging</groupId>
<artifactId>jboss-logging</artifactId>
<version>3.1.0.GA</version>
</dependency>
<dependency>
<groupId>org.jboss.spec.javax.transaction</groupId>
<artifactId>jboss-transaction-api_1.1_spec</artifactId>
<version>1.0.1.Final</version>
</dependency>
<!--数据库驱动-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.6</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.9</version>
<scope>compile</scope>
</dependency>
</dependencies>
<!-- IDEA无法自动读取java文件下的xml文件,要配置声明编译JAVA目录下的文件 -->
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
</resources>
</build>
配置文件
dtd约束在官方文件上有
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<!-- 配置连接数据库的基本信息 -->
<property name="connection.username">root</property>
<property name="connection.password">root</property>
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="connection.url">jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF8</property>
<!-- 配置Hibernate的基本信息 -->
<!-- 1.hibernate所使用的数据库方言-》哪种数据库 -->
<property name="dialect">org.hibernate.dialect.MySQLInnoDBDialect</property>
<!-- 2.执行操作时是否再控制台打印SQL -->
<property name="show_sql">true</property>
<!-- 3.是否对SQL进行格式化 -->
<property name="format_sql">true</property>
<!-- 4.指定自动生成数据表的策略 -->
<property name="hibernate.hbm2ddl.auto">update</property>
</session-factory>
</hibernate-configuration>
实体类
public class Person {
private Integer personId;
private String personName;
private Integer personAge;
public Person() {
}
@Override
public String toString() {
return "Person{" +
"personId=" + personId +
", personName='" + personName + '\'' +
", personAge=" + personAge +
'}';
}
public Person(String personName, Integer personAge) {
this.personName = personName;
this.personAge = personAge;
}
public Integer getPersonId() {
return personId;
}
public void setPersonId(Integer personId) {
this.personId = personId;
}
public String getPersonName() {
return personName;
}
public void setPersonName(String personName) {
this.personName = personName;
}
public Integer getPersonAge() {
return personAge;
}
public void setPersonAge(Integer personAge) {
this.personAge = personAge;
}
}
映射配置
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="com/hibernate/entity/Person" table="PERSON">
<!--
name:表对应类的全类名
table: 类对应的表名
id标签:表的主键
name:映射类的属性名
type:属性类型全类名
column:对应表的字段名
generator:主键生成策略
property:非主键的其他字段映射
name:映射类的属性名
type:属性类型全类名
column:对应表的字段名
-->
<id name="personId" type="java.lang.Integer">
<column name="PersonId" />
<!-- 指定主键的生成方式:
native:数据库底层生成方式
-->
<generator class="native" />
</id>
<property name="personName" type="java.lang.String">
<column name="PersonName" />
</property>
<property name="personAge" type="java.lang.Integer">
<column name="PersonAge" />
</property>
</class>
</hibernate-mapping>
在hibernate核心配置文件中配置指明映射配置文件位置
<!-- 5.指定关联的 hbm.xml 文件 -->
<mapping resource="com/hibernate/entity/Person.hbm.xml" />

新增测试
public class test {
@Test
public void test(){
//1.创建SessionFactory对象
SessionFactory sessionFactory = null;
//1)创建Configuration对象:对应Hibernate的基本配置信息和对象关系映射信息
Configuration configuration = new Configuration().configure();
/**
* 4.0以前是这样创建的
* sessionFactory = configuration.buildSessionFactory();
*/
//2)创建一个ServiceRegistry对象:Hibernate4.x新添加的对象-》Hibernate的任何配置和服务都需要再该对象中注册后才能有效
ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().applySettings(configuration.getProperties()).buildServiceRegistry();
//3)创建一个SessionFactory
sessionFactory = configuration.buildSessionFactory(serviceRegistry);
//2.创建一个Session对象
Session session = sessionFactory.openSession();
//3.开启事务
Transaction transaction = session.beginTransaction();
//4.执行保存操作
Person person = new Person("张三", 20);
session.save(person);
//5.提交事务
transaction.commit();
//6.关闭Session,关闭SessionFactory
session.close();
sessionFactory.close();
}
}

版权声明:本文为qq_29746255原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。