1.搭建Hibernate环境
①导入jar包
②创建实体类
package cn.itcast.entity;
public class User {
private int uid;
private String username;
private String password;
private String address;
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;
}
}
(1)使用hibernate的时候不需要手动创建表,不需要手动创建
③配置实体类和数据库表的一一对应关系(映射关系)
(1)创建一个xml的配置文件
注意:映射配置文件名称和位置没有固定的要求
建议:在实体类的包里面创建,实体类的名称.hbm.xml
(2) 配置文件是xml格式的,在配置文件中首先引入xml约束
注意:学过的约束:dtd,schema在hibernate中使用的是dtd
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
(3)配置映射的关系(重点)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<!-- 1.配置类和表的映射关系
name:实体类的全路经
table:数据库表的名称(可以自定义个表名称)
-->
<class name="cn.itcast.entity.User" table="t_user">
<!-- 2.配置实体类的id和表id
hibernate要求实体类有一个唯一值
hibernate要求表中有唯一字段作为唯一值
-->
<!-- id标签
name:实体类中的id属性名称
column:生成的表字段名称 -->
<id name="uid" column="uid">
<!-- 设置数据库表id增长方式
native:生成表的id值就是主键和自动增长
-->
<generator class="native"></generator>
</id>
<!-- 3.配置其他属性和表中字段对应
name:类中属性的名称
column:表中生成字段的名称
-->
<property name="username" column="username"></property>
<property name="password" column="password"></property>
<property name="address" column="address"></property>
</class>
</hibernate-mapping>
④创建hibernate的核心配置文件
(1)核心配置文件的格式xml,但是核心配置文件的名称和位置是固定的
注意:位置:必须在src下面
名称:hibernate.cfg.xml
(2) 引入dtd约束
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
(3)hibernate在操作的过程中只会加载核心配置文件,其他配置文件不会加载
第一部分:配置数据库的信息
<hibernate-configuration>
<session-factory>
<!-- 第一部分:配置数据库的信息(必须) -->
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql:///hibernate_day01</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">123456</property>
第二部分:配置hibernate信息
<!-- 第二部分:配置hibernate信息(可选)-->
<!--输出底层sql语句 -->
<property name="hibernate.show_sql">true</property>
<!-- 输出底层sql语句的格式 -->
<property name="hibernate.format_sql">true</property>
<!--hibernate帮创建表,需要配置之后
update:如果已经有了表会更新,没有的话会帮我们创建表
-->
<property name="hibernate.hbm2ddl.auto">update</property>
<!--配置数据库的方言
例如:分页的话关键字:limit只在mysql中用
在oracle中实现分页用rowrun
让hibernate框架中识别特定的语句
-->
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
第三部分:把映射文件放到核心配置文件中
<!-- 第三部分:把映射文件放到核心配置文件中(必须)
resource:为映射配置文件的路径
-->
<mapping resource="cn/itcast/entity/User.hbm.xml"/>
</session-factory>
</hibernate-configuration>