• Hibernate api 之常见的类(配置类,会话工厂类,会话类)


    1:Configuration :配置管理类对象

      1.1:config.configure():

         加载主配置文件的方法(hibernate.cfg.xml) ,默认加载src/hibernate.cfg.xml

      1.2:config.configure(“cn/config/hibernate.cfg.xml”);   

         加载指定路径下指定名称的主配置文件

      1.3:config.buildSessionFactory();   

          创建session的工厂对象

    2: SessionFactory :session的工厂(或者说代表了这个hibernate.cfg.xml配置文件)

      2.1:sf.openSession();   

          创建一个sesison对象

      2.2:sf.getCurrentSession();  

         创建session或取出session对象

    3:Session:

      3.1:session对象维护了一个连接(Connection), 代表了与数据库连接的会话。

        a:保存的方法:session.save(对象);

        b:更新的方法:session.update(对象);  

          注意:更新必须写上主键的名称,其他字段都要设置值;

        c:主键查询的方法:session.get(对象,主键);/session.load(对象,主键);load方法这个支持懒加载。

        d:保存或者更新:session.saveOrUpdate(对象);如果没有主键就保存,存在主键就更新;保存或者更新的方法,没有设置主键,执行保存,有设置主键,执行更新操作,如果设置主键不存在,就报错;

        e:删除的方法:session.delete(对象);删除必须给主键;

          3.2:Hibernate最重要的对象:

         只用使用hibernate与数据库操作,都用到这个对象

          3.3:session.beginTransaction();

         开启一个事务; hibernate要求所有的与数据库的操作必须有事务的环境,否则报错!

      3.4:Transaction:hibernate事务对象;


    使用Hibernate api 之常见的类(配置类,会话工厂类,会话类)案例:

      《这里只是列举了Hibernate的三个常见类,其他配置文件和实体类之前的博客写过,这里重点介绍Hibernate的三个常见类》:

     1 package com.bie.test;
     2 
     3 import org.hibernate.Session;
     4 import org.hibernate.SessionFactory;
     5 import org.hibernate.Transaction;
     6 import org.hibernate.cfg.Configuration;
     7 import org.junit.Test;
     8 
     9 import com.bie.po.User;
    10 
    11 /** 
    12 * @author BieHongLi 
    13 * @version 创建时间:2017年3月8日 下午5:28:35 
    14 * 
    15 */
    16 public class HelloTest2 {
    17 
    18     //SessionFactory代表整个配置文件,所以没必要加载多次,放到全局即可
    19     private static SessionFactory sf;
    20     static{
    21         //1:创建配置管理类对象
    22         Configuration config=new Configuration();
    23         //加载配置文件,(默认加载/src/hibernate.cfg.xml)
    24         config.configure();
    25         
    26         //2:根据加载的配置管理类对象,创建SessionFactory对象
    27         sf=config.buildSessionFactory();
    28         
    29         //简介写法,写到一行里面
    30         //sf=new Configuration().configure().buildSessionFactory();
    31     }
    32     @Test
    33     public void testHello(){
    34         //对象
    35         User user=new User();
    36         user.setName("张三");
    37         user.setPassword("123456");
    38         user.setEmail("1748741329@qq.com");
    39         user.setPhone("15236083005");
    40         
    41         //3:根据sesson的工厂创建session对象
    42         Session session = sf.openSession();
    43         
    44         //开启事务
    45         Transaction tx = session.beginTransaction();
    46         //执行操作
    47         session.save(user);
    48         //提交事务
    49         tx.commit();
    50         //关闭事务
    51         session.close();
    52         sf.close();
    53     }
    54     
    55 }

    Hibernate三个常见类,配置类,会话工厂类,会话类,over!!!

  • 相关阅读:
    struts2 之 Action的创建方式
    struts2 之 struts2数据处理
    SuperMap for WebGL 9D 加载平面坐标系三维场景
    SuperMap-WebGL-坐标系及转换说明
    SuperMap -WebGL 实现地球的背景透明并显示自定义图片
    转载: ssh连接上华为云Linux服务器,一会就自动断开
    Arcgis瓦片--js客户端加载
    Arcgis瓦片--数据获取
    转载:Linux服务器Cache占用过多内存导致系统内存不足最终java应用程序崩溃解决方案
    转载-浏览器优化中的2-5-8原则
  • 原文地址:https://www.cnblogs.com/biehongli/p/6526281.html
Copyright © 2020-2023  润新知