Hibernate基本套路(附赠HibernateUtil)

Hibernate基本套路(附赠HibernateUtil)

Hibernate六大核心接口,两个主要配置文件,以及他们直接的关系

1、Configuration接口:负责配置并启动Hibernate

2、SessionFactory接口:负责初始化Hibernate

3、Session接口:负责持久化对象的CRUD操作

4、Transaction接口:负责事务

5、Query接口和Criteria接口:负责执行各种数据库查询

示例套路

              //加载配置文件

              Configuration config =newConfiguration();

              //创建服务注册对象

              ServiceRegistry serviceRegistry =newServiceRegistryBuilder().applySettings(config.configure().getProperties()).buildServiceRegistry();

              //创建会话工厂对象

              SessionFactory factory=config.buildSessionFactory(serviceRegistry);

           //得到session

           Session session  = factory.openSession();

           //创建事务

           Transaction tx = session.beginTransaction();

           //保存

            session.save(project1);

           session.save(project2);

           //提交事务

           tx.commit();

           //关闭会话

           session.close();

            factory.close();

 

Hibernate.cfg.xml

1.          <!-- 设置数据库驱动 -->  

2.          <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>  

3.          <!-- 设置数据库URL -->  

4.          <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/hibernate_first</property>  

5.          <!-- 数据库用户名 -->  

6.          <property name="hibernate.connection.username">root</property>  

7.          <!-- 数据库密码 -->  

8.          <property name="hibernate.connection.password">123456</property>  

9.          <!-- 指定对应数据库的方言,hibernate为了更好适配各种关系数据库,针对每种数据库都指定了一个方言dialect -->  

1.           <!-- 映射文件 -->  

2.          <mapping resource="com/liang/hibernate/User.hbm.xml"/>

配置XXX.hbm.xml完成实体类映射(需在Hibernate.cfg.xml中添加路径)

 


 

有关具体的.hbm.xml文件的配置将在下一篇中讲解

常见报错

 

NoClassDefFoundError的错误

问题原因:未导入相应jar包

解决办法:引入对应JAR包

Schema exportunsuccessful 错误

问题原因:使用了jdbc驱动6.0以上版本又未在url上添加?serverTimezone=UTC

到了大家最关注的干货了,即将到来的HibernateUtil将大幅度的减少大家的编码难度,也就是把以上的套路进行了再包装,小伙伴们码住来个赞啊!!!

packagecom.demo.util;

 

importorg.hibernate.Session;

importorg.hibernate.SessionFactory;

importorg.hibernate.cfg.Configuration;

importorg.hibernate.service.ServiceRegistry;

importorg.hibernate.service.ServiceRegistryBuilder;

 

publicclass HibernateUtil {

      private static SessionFactorysessionFactory;

     

      /**

      *@return 获取会话工厂

      */

       public static SessionFactorygetSessionFactory()

       {

         //第一步:读取Hibernate的配置文件  hibernamte.cfg.xml文件

            // cfg.configure()这句话就会去读hibernate.cfg.xml里面的配置文件.如果你的配置文件不叫hibernate,cfg.xml,你就要用cfg.configure("filename")来指定你需要的配置文件。

         Configuration con=newConfiguration().configure();

         //第二步:创建服务注册构建器对象,通过配置对象中加载所有的配置信息

         ServiceRegistryBuilder regbulider=newServiceRegistryBuilder().applySettings(con.getProperties());

         //创建注册服务

         ServiceRegistryreg=regbulider.buildServiceRegistry();

         //第三步:创建会话工厂

         sessionFactory=con.buildSessionFactory(reg);

         return sessionFactory;

       }

      

      /**

      * @return 获取会话对象

      */

       public static Session getSession()

       {

          returngetSessionFactory().openSession();

       }

}


  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值