1.导入有hibernate的required和jpa的jar包,数据库驱动jar包,日志jar包
2.创建实体类,必须有一个属性有唯一的值
package com.hui.hibernate; public class User { private int uid;/*hibernate要求实体类中有一个属性唯一*/
private String username;
private String password;
private String address; public User() {
// TODO Auto-generated constructor stub
} public int getUid() {
return uid;
}
public void setUid(int uid) {
this.uid = uid;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
} }
3.配置实体类和数据库表的映射关系,使用配置文件
@1创建xml格式配置文件
@2给创建的xml文件引入约束
@3配置映射关系
<?xml version="1.0" encoding="UTF-8"?>
<!-- 这个文件就是hibernate配置实体类和数据库表映射关系的配置文件 -->
<!-- 给hibernate配置文件引入的约束 -->
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"> <hibernate-mapping>
<!--1.配置类和表的对应关系
class标签
name:实体类全路径名
table:数据库表名 -->
<class name="com.hui.hibernate.User" table="t_user">
<!--2.配置实体类id和表id对应
hibernate要求实体类有一个属性唯一值
hibernate要求表有字段作为唯一值 --> <!--id标签
name:实体类中id属性名称
colnum:生成的表字段名称 -->
<id name="uid" colnum="uid">
<!--设置数据库表id增长策略
native:生成表id值就是主键且自动增长 -->
<generator class="native"></generator>
</id> <!--配置其他属性和表字段对应
name:实体类属性名称
colnum:生成表的对应字段名称 --> <property name="username" colnum="username"></property>
<property name="password" colnum="password"></property>
<property name="address" colnum="address"></property> </class> </hibernate-mapping>
4.创建hibernate核心配置文件
@1.核心配置文件格式为xml,但是核心配置文件位置是固定的,位置必须在src下,名称必须为hibernate.cfg.xml
@2.引入dtd约束
@3进行相关配置hibernate操作过程只会加载核心配置文件,其他配置文件不会加载,所以应将映射关系配置文件放到核心配置文件中
---配置数据库信息
---配置hibernate信息
---把映射文件放引入到核心配置文件中
<?xml version="1.0" encoding="UTF-8"?>
<!--这是hibernate的核心配置文件 -->
<!--引入dtd约束 -->
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"> <hibernate-configuration>
<session-factory>
<!--1.配置数据库信息,必须要有 -->
<!-- 配置hibernate采用的数据库驱动,此处为mysql -->
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<!--配置数据库的url位本地的名称为 testjdbc的数据库 -->
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/testjdbc</property>
<!--配置用户名 -->
<property name="hibernate.connection.username">root</property> <!--配置密码 -->
<property name="hibernate.connection.password">241602</property>
<!--2.配置hibernate信息,可选配置 -->
<!-- 输出底层的sql语句 -->
<property name="hibernate.show_sql">true</property>
<!-- 对底层sql语句进行格式化 -->
<property name="hibernate.format_sql">true</property>
<!-- update:如果已经有表,更新,如果没有,创建 -->
<property name="hibernate.hbm2ddl.auto">update</property>
<!--配置数据库方言
在mysql中实现分页关键字limit,只能用于mysql中
oracle数据库实现分页用rownum
让hibernate框架识别不同数据库自己特有的语句 -->
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property> <!--3.把映射关系配置文件内容放进来,必须的,通过resource引入映射关系文件内容
/hibernate/src/com/hui/hibernate/User.hbm.xml -->
<mapping resource="com/hui/hibernate/User.hbm.xml"/> </session-factory> </hibernate-configuration>