zoukankan      html  css  js  c++  java
  • Hibernate核心API

    ------------------------siwuxie095

       

       

       

       

       

       

       

    (一)Configuration

       

       

    1、一般情况

       

       

    或:

       

       

       

    加载核心配置文件:在 src 下找到名称为 Hibernate.cfg.xml

    的配置文件,将其放到对象中

       

       

       

    2、特殊情况

       

       

       

    加载核心配置文件:在 src 下的 config 文件夹中找到 hibernate.cfg.xml

       

       

       

       

       

    (二)SessionFactory

       

       

    1、使用 Configuration 对象创建 SessionFactory 对象

       

       

       

    创建 SessionFactory 对象的过程中,会根据核心配置文件,到

    数据库中根据映射关系将表自动创建出来

       

    注意:自动创建表的前提是在核心配置文件中加入如下配置

       

       

       

       

    2、创建 SessionFactory 对象的过程特别耗费资源

       

    1)解决方法:在 Hibernate 操作中,建议一个项目只创建一个 SessionFactory 对象

       

    2)具体实现:写一个工具类,用静态代码块实现

       

    「静态代码块在类加载时执行,且只执行一次」

       

       

       

       

    包名:com.siwuxie095.utils

    类名:HibernateUtils.java

       

    HibernateUtils.java:

       

    package com.siwuxie095.utils;

       

    import org.hibernate.SessionFactory;

    import org.hibernate.cfg.Configuration;

       

    public class HibernateUtils {

    static Configuration cfg=null;

    static SessionFactory sessionFactory=null;

    //或:加上 private final 亦可,不过此时不能等于 null

    // private static final Configuration cfg;

    // private static final SessionFactory sessionFactory;

    //静态代码块

    static {

    //加载核心配置文件

    cfg=new Configuration();

    cfg.configure();

    sessionFactory=cfg.buildSessionFactory();

    }

    //提供方法返回 sessionFactory

    public static SessionFactory getSessionFactory() {

    return sessionFactory;

    }

    }

       

       

       

       

       

    (三)Session

       

       

    1、Session 类似于 JDBC 中的连接 Connection

       

       

       

       

    2、可以调用 Session 的不同方法实现 CRUD 操作

       

    1)增:save() 方法

       

    2)删:delete() 方法

       

    3)改:update() 方法

       

    4)查:get() 方法

       

       

       

    3、Session 对象 - 单线程对象

       

    「Session 对象不能共用,只能自己使用」

       

       

       

       

       

    (四)Transaction

       

       

    1、事务对象

       

       

       

       

    2、事务的提交和回滚

       

       

       

       

    3、事务的四个特性

       

    1)原子性

       

    2)一致性

       

    3)隔离性

       

    4)持久性

       

       

       

       

       

       

       

       

       

       

       

    【made by siwuxie095】

  • 相关阅读:
    webpack 4.X 基础编译
    一个数组中两个数的和为N,找出这两个数字的下标
    Mybatis自动生成,针对字段类型为text等会默认产生XXXXWithBlobs的方法问题
    Docker Mysql
    Docker镜像Push到DockerHub
    E: Unable to locate package git
    linux解压类型总结
    docker安装gitlab
    Docker应用
    解决github访问及上传慢的问题
  • 原文地址:https://www.cnblogs.com/siwuxie095/p/7282190.html
Copyright © 2011-2022 走看看