1.导入有hibernate的required和jpa的jar包,数据库驱动jar包,日志jar包

hibernate配置三步走_hibernate

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配置映射关系

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <!-- 这个文件就是hibernate配置实体类和数据库表映射关系的配置文件 -->
 3 <!-- 给hibernate配置文件引入的约束 -->
 4 <!DOCTYPE hibernate-mapping PUBLIC 
 5     "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
 6     "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
 7    
 8    <hibernate-mapping>
 9        <!--1.配置类和表的对应关系
10        class标签
11        name:实体类全路径名
12        table:数据库表名  -->
13        <class name="com.hui.hibernate.User" table="t_user">
14            <!--2.配置实体类id和表id对应
15            hibernate要求实体类有一个属性唯一值 
16            hibernate要求表有字段作为唯一值 -->
17            
18            
19            <!--id标签
20            name:实体类中id属性名称 
21            colnum:生成的表字段名称 -->
22            <id name="uid" colnum="uid">
23                <!--设置数据库表id增长策略 
24                native:生成表id值就是主键且自动增长 -->
25                <generator class="native"></generator>
26            </id>
27            
28            <!--配置其他属性和表字段对应
29            name:实体类属性名称 
30            colnum:生成表的对应字段名称 -->
31            
32            <property name="username" colnum="username"></property>
33            <property name="password" colnum="password"></property>
34            <property name="address" colnum="address"></property>
35            
36        </class>
37        
38    </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>