Hibernate学习笔记(一):Hibernate基本配置

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sv2008337/article/details/81353574

   最近在看视频复习下Hibernate的相关知识,于是做了一些笔记如下。

  hibernate是一个轻量级、企业级、开元的ORM持久层框架,可以操作数据库的操作。其中,轻量级指的是使用时所用的依赖资源很少(log4j,c3p0)。

  Hibernate包含ORM(Obiect Relational Mapping 对象映射关系),就是建立实体类和数据库表的对应关系,实现操作实体类对象就相当于操作数据库表。

  1、Hibernate中的配置文件:

<session-factory>
        <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
        <property name="hibernate.connection.username">root</property>
        <property name="hibernate.connection.password">1234</property>
        <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/hibernatedemo</property>
         <!-- show_sql:  向控制台打印sql语句 -->
        <property name="show_sql">true</property>
        <!-- format_sql: 格式化SQL语句 -->
        <property name="format_sql">true</property>
        <!-- 配置C3P0 -->
        <property name="hibernate.connection.provider_class">org.hibernate.connecetion.C3P0ConnectionProvider</property>
        <!-- 绑定session -->
        <property name="hibernate.current_session_context_class">thread</property>
</session-factory>

  2、类名映射数据库名:

<mapping package="包名">
     <class name=“类名” table=“数据库中的表名”> 
        <id>这里配置数据库表的id</id>
        <generator class="native"></generator> <!--native代表使用本地数据库的自动增长能-->
        <property name="列名" column=“数据库中字段名”>

  2、Hibernate创建连接:

public class HibernateUtil{
    //factory用于创建Session对象
    private static SessionFactory factory;
    static{
        try{
			//只创建不加载
            Configuration cfg=new Configuration();
			//加载配置文件
			cfg.configure();
			factory=cfg.buildSessionfactory();
        }
		catch(ExceptionInInitializerError e)
		{
			throw new ExceptionInInitializerError("初始化SessionFactory失败,请检查配置文件");
		}
    }

    public static Session openSession()
    {
        //已经在配置中绑定了session,所以直接return就好
        return factory.openSession();
    }
	
}

  4、SessiongFactory:一个应用应该只有一个SessionFactory,在应用加载时创建,应用卸载时销毁;而一个线程只有一个Session,

猜你喜欢

转载自blog.csdn.net/sv2008337/article/details/81353574