hibernate(一)配置

一、依赖导入

<dependencies>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.6</version>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.10</version>
        </dependency>
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-entitymanager</artifactId>
            <version>5.0.7.Final</version>
        </dependency>
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-c3p0</artifactId>
            <version>5.0.7.Final</version>
        </dependency>
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.12</version>
        </dependency>
    </dependencies>

二、配置文件

配置文件一般反正项目根目录resources下,文件名:hibernate.cfg.xml,也可以做自定义配置

<?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">
<hibernate-configuration>
    <!-- 配置SessionFactory,跟JPA中的EntityManagerFactory是对应的 
    是为了创建Session对象。Session对象就对应JPA中的EntityManager
    Hibernate中的Session和我们之前讲的WEB阶段HttpSession没有任何关系

    配置SessionFactory,需要提供3部分信息
        第一部分:连接数据库的信息
        第二部分:hibernate的可选配置
        第三部分:映射文件或者注解类的位置
    -->
    <session-factory>
        <!-- 第一部分:连接数据库的信息 -->
        <!-- 连接数据库的必要信息 -->
        <property name="hibernate.connection.driver_class" >com.mysql.jdbc.Driver</property>
        <property name="hibernate.connection.url" >jdbc:mysql://localhost:3306/ee39_jpa</property>
        <property name="hibernate.connection.username" >root</property>
        <property name="hibernate.connection.password" >1234</property>
        <!-- 第二部分:hibernate的可选配置 -->
        <property name="hibernate.dialect" >org.hibernate.dialect.MySQLDialect</property><!-- 用于指定数据库方言 -->
        <!-- 显示sql语句 -->
        <property name="hibernate.show_sql" >true</property>
        <!-- 格式化SQL语句 -->
        <property name="hibernate.format_sql" >true</property>
        <!-- 配置数据源的提供商 -->
        <property name="hibernate.connection.provider_class" >org.hibernate.connection.C3P0ConnectionProvider</property>


        <!-- 配置生成ddl语句的方式:选择何种方式生成ddl语句-->
        <property name="hibernate.hbm2ddl.auto" >update</property>

        <!-- 第三部分:映射文件或者注解类的位置 -->
        <mapping class="com.itheima.domain.Customer"/>
    </session-factory>
</hibernate-configuration>

三 ,工具类

public class HibernateUtil {

    //1.定义SessionFactory
    private static SessionFactory factory;

    //2.使用静态代码块给factory赋值
    static {
        //读取配置文件
        Configuration cfg = new Configuration();//创建对象
        cfg.configure();//读取配置,没传参数表示去类的根路径下读取名称为hibernate.cfg.xml的配置文件
        //根据配置文件构建工厂对象
        factory = cfg.buildSessionFactory();
    }


    //3.提供一个静态方法,返回factory生产的Session对象
    public static Session openSession() {
        return factory.openSession();
    }
}

猜你喜欢

转载自blog.csdn.net/houysx/article/details/80702834