配置文件详解和核心api讲解

一、配置文件详解

  1、映射文件详解

    1、映射配置文件的位置和名称没有限制。

      -建议:位置:和实体类放在统一目录下。

          名称:实体类名称.hbm.xml。

       

    2、在映射配置文件中,标签内的name属性的值要和实体内的属性对应。

      (1)class标签内的name的值为实体类的全路径。

      (2)property标签内的name的值为实体类的属性。

      (3)id标签内的name的值为实体类的属性。

      (4)id和property标签内的column属性可以不写。

      (5)id和property标签内有一个type属性,可以指定生成数据表的字段的类型,

         一般类型由Hibernate自动推断,不设置该属性

      

  2、核心配置文件详解

      1、核心配置文件的位置和名称都有要求

        位置:必须要在src目录下

        名称:必须是hibernate.cfg.xml。

        

      2、配置内容必须要写在<SessionFactory></SessionFactory>标签内。

        

      3、配置内容有三部分组成

        第一部分:数据库配置部分,此部分是必须要配置的。

        第二部分:hibernate配置部分,该部分不是必须的,可以不配置

        第三部分:加载映射文件部分,该部分也是必须的,因为hibernate只会加载核心配置文件,

              所有必须要通过这种方式引入映射文件,才能加载。

        

二、核心API详解

    1、Configuration

      该API主要用来加载配置文件。在使用Hibernate时,首先要创建Configuration对象,该对象用来启动、加载和管理Hibernate的配置文件信息。

      该实例的创建方法有以下几种:

       第一种:用于加载位置在src目录下,并且名字为hibernate.cfg.xml的配置文件。  

Configuration cfg = new Configuration().configure()

      第二种:加载指定目录下的核心配置文件

Configuration cfg = new Configuration().configure("xml 文件的位置")

      第三种:加载映射文件 

    Configuration cfg = new Configuration().configure("xml 文件的位置");
            cfg.addResource("com/jack/entity/User.hbm.xml");

    2、SessionFactory

        该接口负载Hibernate的初始化和Session对象的创建。

        创建SessionFactory时会根据核心配置文件中数据库的配置和映射文件中的映射关系去数据库中吧数据表创建出来。

        SessionFactory的特点:1、它是线程安全的,它的一个实例可以供多个线程共享。

                     2、它是重量级的,不能随意的创建或销毁它的实例。

                    3、在创建过程中特别的耗费资源。

        由于以上的特点,因此在一个项目中只需要一个SessionFactory对象即可,所以在Hibernate项目中一般抽取一个工具类来获取该实例。

        工具类代码:

public class HibernateUtils {

    private static Configuration configuration= null;
    private static SessionFactory sessionFactory = null;

    /**
     * 静态代码块,在类加载时只会执行一次,这样就可以保证只有一个SessionFactory对象
     */
    static{
        configuration = new Configuration();
        configuration.configure();
        sessionFactory = configuration.buildSessionFactory();
    }

    /**
     * 提供一个返回SessionFactory对象的方法
     */

    public static SessionFactory getFactory(){
        return sessionFactory;
    }
}

    3、Session 

        1、session类似于JDBC中的Connection对象。

        2、session是线程不安全的,一个session对象只能供一个线程使用。

        3、session提供了大量的常用操作方法。

        • save()、update()和saveOrUpdate()方法:用于增加和修改对象。
        • delete()方法:用于删除方法。
        • get()和load()方法:用于根据主键查询。
        • createQuery()和createSQLQuery()方法:用于数据库操作对象
        • createCriteria()方法:用于条件查询。  

        4、获取该实例方法:

          第一种:   

Session  session = sessionFactory.openSession();

          第二种:

Session  session = sessionFactory.getCurrentSession();

          两种方法的区别:使用第一种方法获取该实例时,SessionFactory会直接创建一个Session对象,在操作完毕后,必须要通过调用Session对象

                  的close()方法来手动关闭该实例。

                  使用第二种方法创建的实例会被绑定到当前线程中,在提交或回滚操作时会自动关闭。

    4、Transaction

        Transaction接口主要用于事物管理。

        1、获取实例方法

Transaction tx = session.beginTransaction();

        2、提供的方法

          commit()方法:用于提交相关联的Session实例。

          rollback()方法:用于撤销事物。

三、编写配置文件时没有提示问题。

    在编写配置文件时如果电脑不能连接外网,则没有提示。解决方式如下.

      1、编写映射文件处理方法

        (1)去网站http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd下载hibernate-mapping-3.0.dtd文件。

        (2)打开该文件,拷贝如下代码

                  

        (3)在eclipse中打开window--->preference窗口,搜索XML Catalog,进行如下配置

          

    2、编写核心配置文件处理方法

      (1)去网站http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd下载hibernate-configuration-3.0.dtd文件。

      (2)打开hibernate-configuration-3.0.dtd文件拷贝如下代码

        

      (3)在eclipse中打开window--->preference窗口,搜索XML Catalog,进行如下配置

        

          

时间: 2024-10-09 13:30:25

配置文件详解和核心api讲解的相关文章

Hibernate3 Api,配置文件详解

1 api详解[多练] 1.1 体系结构 PO:persistent object ,用于与数据库交互数据.--dao层  (JavaBean + hbm ) BO:Business object 业务数据对象.--service层 VO:Value Object 值对象.--web层 开发中:直接使用JavaBean 描述三个对象. 1.2 Configuration 配置对象 l hibernate 核心配置文件种类 hibernate.cfg.xml 通常使用xml配置文件,可以配置内容更

【JAVAEE学习笔记】hibernate01:简介、搭建、配置文件详解、API详解和CRM练习:保存客户

今日学习:hibernate是什么 一.hibernate是什么 框架是什么: 1.框架是用来提高开发效率的 2.封装了好了一些功能.我们需要使用这些功能时,调用即可.不需要再手动实现. 3.所以框架可以理解成是一个半成品的项目.只要懂得如何驾驭这些功能即可. hibernate框架是什么: hibernate的好处: 操作数据库的时候,可以以面向对象的方式来完成.不需要书写SQL语句 hibernate是一款orm框架: orm:object relationg mapping. 对象关系映射

Hibernate入门核心配置文件和orm元数据配置文件详解

框架是什么? 框架是用来提高开发效率的 封装了一些功能,我们需要使用这些功能时,调用即可,不用手动实现 所以框架可以理解为一个半成品的项目,只要懂得如何使用这些功能即可 Hibernate是完全面向对象的顶级框架 Hibernate框架的搭建 导包 书写配置文件 upgrade:升级改善 Hibernate配置文件详解 orm元数据配置文件 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hiber

AndroidManifest.xml配置文件详解(转载)

AndroidManifest.xml配置文件详解 2013-01-05 10:25:23 分类: Android平台 AndroidManifest.xml配置文件对于Android应用开发来说是非常重要的基础知识,本文旨在总结该配置文件中重点的用法,以便日后查阅.下面是一个标准的AndroidManifest.xml文件样例.     [html] view plaincopy <?xml version="1.0" encoding="utf-8"?&g

Nginx知多少系列之(三)配置文件详解

原文:Nginx知多少系列之(三)配置文件详解 目录 1.前言 2.安装 3.配置文件详解 4.工作原理 5.Linux下托管.NET Core项目 6.Linux下.NET Core项目负载均衡 7.Linux下.NET Core项目Nginx+Keepalived高可用(主从模式) 8.Linux下.NET Core项目Nginx+Keepalived高可用(双主模式) 9.Linux下.NET Core项目LVS+Keepalived+Nginx高可用集群 10.构建静态服务器 11.日志

ThinkPHP源码阅读2-----C函数配置文件详解

ThinkPHP的配置非常灵活,可自定义加载.大概看了一下,一共有这几个地方会加载配置文件,方便以后的读取 /** * 获取和设置配置参数 支持批量定义 * * @param string|array $name * 配置变量 * @param mixed $value * 配置值 * @return mixed */ function C($name = null, $value = null) { static $_config = array (); // 无参数时获取所有 if (emp

Nagios服务器端配置文件详解(2)

上一步骤: http://blog.csdn.net/mchdba/article/details/25654889 6 配置nagios Nagios 主要用于监控一台或者多台本地主机及远程的各种信息,包括本机资源及对外的服务等.默认的Nagios 配置没有任何监控内容,仅是一些模板文件.若要让Nagios 提供服务,就必须修改配置文件,增加要监控的主机和服务,下面将详细介绍. 6.1 默认配置文件介绍 Nagios 安装完毕后,默认的配置文件在/usr/local/nagios/etc目录下

Haproxy均衡负载部署和配置文件详解

HAproxy均衡负载部署和配置文件详解 HAProxy提供高可用性.负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费.快速并且可靠的一种解决方案.根据官方数据,其最高极限支持10G的并发. HAProxy特别适用于那些负载特大的web站点, 这些站点通常又需要会话保持或七层处理.HAProxy运行在当前的硬件上,完全可以支持数以万计的并发连接.并且它的运行模式使得它可以很简单安全的整合进您当前的架构中, 同时可以保护你的web服务器不被暴露到网络上. 其支持从4层至7层的网络

spring boot 1.5.4 配置文件详解(八)

上一篇:spring boot 1.5.4 集成spring-Data-JPA(七) 1      Spring Boot配置文件详解 相信很多人选择Spring Boot主要是考虑到它既能兼顾Spring的强大功能,还能实现快速开发的便捷.我们在Spring Boot使用过程中,最直观的感受就是没有了原来自己整合Spring应用时繁多的XML配置内容,替代它的是在pom.xml中引入模块化的Starter POMs,其中各个模块都有自己的默认配置,所以如果不是特殊应用场景,就只需要在appli