Hibernate入门1

时间:2022-09-01 14:57:27

Hibernate概述:

1. 什么是框架:

写程序,在使用框架之后,帮我们实现一部分的功能,使用框架的好处可以少写一部分代码实现功能

2. 什么是hibernate框架:

  • hibernate框架应用在javaee三层结构中的dao层的框架
  • 在dao层里面做对数据库的crud操作,使用hibernate实现crud操作,hibernate底层代码就是jdbc,hibernate对jdbc进行封装,使用hibernate好处,不需要写复杂的jdbc代码了,不需要写sql语句了
  • hibernate是一个开源的轻量级的框架
  • hibernate版本

hibernate3.X

hibernate4.x(过度版本,少有人用)

hibernate5.x

3. hibernate框架的目录结构:

  • documentation:hibernate的相关文档
  • lib:hibernate的相关jar包
  • project:hibernate的相关的源代码

  Hibernate入门1

4. hibernate底层实现的思想:

  • hibernate使用orm思想对数据库进行crud操作
  • 在web阶段学习javabean思想(有javabean的操作),javabean更正确的叫法,叫做实体类
  • hibernate的orm思想(Object relational mapping):对象关系映射

让我们的实体类和我们的数据库表进行一一的对应关系:让实体类和数据库的表对应,让实体类的属性和表里面的字段对应,这样的话就不需要直接操作数据库表,二操作表对应实体类对象,就可以实现对数据库的操作。

Hibernate入门:

  • 搭建hibernate环境
    • 导入jar包

     Hibernate入门1  

       \lib\required\下的jar必须要

      Hibernate入门1

     \lib\jpa\下实体映射包

          还有一个是数据库的驱动包

    • 使用hibernate步骤
      • 导入jar包
      • 创建实体类

         Hibernate入门1

      • 配置实体类的配置文件(配置实体类和数据库表的一一对应的关系,包括属性和字段,实体类和表)
        • 每一个实体类必须有一个属性对应表的主键(保证唯一性,Hibernate要求)
        • 在每一个实体类的下面创建一个xml文件(位置和名称没有具体的要求,但建议卸载该实体类的下面),建议命名为:实体类名称.hbm.xml(此文件需要引入dtd的约束)

          Hibernate入门1创建实体类

              Hibernate入门1引入约束文件

          Hibernate入门1配置配置文件

      • 配置Hibernate的核心配置文件
        • 核心配置文件格式为xml,且核心配置文件名称和位置固定(有要求:必须放在src目录下面;必须为hibernate.cfg.xml)

          Hibernate入门1

        • 引入约束文件

           Hibernate入门1

        • Hibernate在操作的过程中,只会加载核心配置文件,其他配置文件不会进行加载(如上面的映射配置文件) 
        • 配置hibernate.cfg.xml文件     
          • 配置数据库信息
          • 配置Hibernate信息
          • 配置映射文件信息

            Hibernate入门1

      • 代码实现hibernate的crud操作
        • 加载hibernate的核心配置文件
        • 创建SessionFactory对象
        • 使用SessionFactory得到Session对象
        • 开启事务
        • crud操作
        • 提交事务
        • 关闭资源
package com.geore.test;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.junit.Test; import com.geore.pojo.User; public class TestDemo1 {
@Test
public void fun() {
// 加载hibernate核心配置文件,会到src目录下去查找hibernate.cfg.xml文件进行加载
Configuration cfg = new Configuration();
cfg.configure();
// 创建SessionFactory对象,读取核心配置文件,并且根据映射关系将表创建
SessionFactory sf = cfg.buildSessionFactory();
// 使用SessionFactory创建Session对象,session类似于链接对象
Session session = sf.openSession();
// 开启事务
Transaction ts = session.beginTransaction();
// 写具体的逻辑crud操作
// 添加操作
User user = new User();
user.setUsername("Geore");
user.setPassword("123456");
session.save(user);
// 提交事务
ts.commit();
// 关闭资源(之前还可以加上一步,回滚事务)
session.close();
sf.close();
}
}

  Hibernate入门1

  Hibernate入门1

映射配置文件注意点

  • 映射配置文件名称和位置没有固定的要求
  • 映射配置文件中,标签name属性值写实体类相关的内容
  • Class标签name属性值实体类的全路径
    • Id标签和property标签name属性值,实体类属性名称
    • Id标签和property标签,column属性可以省略(不写默认和那么属性的值一样)
  • Property标签还有一个type属性,用来指定表字段的类型(可以不写)

核心配置文件的细节

  • 核心配置文件的名称和位置固定
  • 核心配置文件主要分为部分的内容
    • 配置数据库信息:必须写
    • 配置Hibernate信息:可选
    • 配置映射关系文件: 必须写

Hibernate入门1的更多相关文章

  1. 三大框架之hibernate入门

    hibernate入门   1.orm      hibernate是一个经典的开源的orm[数据访问中间件]框架           ORM( Object Relation Mapping)对象关 ...

  2. Hibernate入门案例及增删改查

    一.Hibernate入门案例剖析: ①创建实体类Student 并重写toString方法 public class Student { private Integer sid; private I ...

  3. Hibernate入门案例 增删改

    一.Hibernate入门案例剖析: ①创建实体类Student 并重写toString方法 public class Student { private Integer sid; private I ...

  4. Hibernate入门6.Hibernate检索方式

    Hibernate入门6.Hibernate检索方式 20131128 代码下载 链接: http://pan.baidu.com/s/1Ccuup 密码: vqlv Hibernate的整体框架已经 ...

  5. Hibernate入门5持久化对象关系和批量处理技术

    Hibernate入门5持久化对象关系和批量处理技术 20131128 代码下载 链接: http://pan.baidu.com/s/1Ccuup 密码: vqlv 前言: 前面学习了Hiberna ...

  6. Hibernate入门4.核心技能

    Hibernate入门4.核心技能 20131128 代码下载 链接: http://pan.baidu.com/s/1Ccuup 密码: vqlv 前言: 前面学习了Hibernate3的基本知识, ...

  7. Hibernate入门3.配置映射文件深入

    Hibernate入门3.配置映射文件深入 2013.11.27 前言: 之前的两节是在Java项目中如何使用hibernate,并且通过一个简单地项目实践,期间有很多的错误,一般都是因为配置包的问题 ...

  8. 简单的Hibernate入门简介

    其实Hibernate本身是个独立的框架,它不需要任何web server或application server的支持.然而,大多数的Hibernate入门介绍都加入了很多非Hibernate的东西, ...

  9. Hibernate入门(1)-第一个Hibernate程序

    Hibernate入门(1)-第一个Hibernate程序 Hibernate是最著名的ORM工具之一,本系列文章主要学习Hibernate的用法,不涉及Hibernate的原理.本文介绍第一个Hib ...

  10. hibernate入门之person表

    下面的hibernate入门person表指的是:根据mysql数据库中的test表和其中的元素-->建立映射表==>进而创建持久化类的顺序来操作了,下面为步骤 1.配置MySQL驱动程序 ...

随机推荐

  1. 整合s2sh,实现页面操作数据库

    先说点废话 s2sh,就是struts2,spring,hibernate:s2作为表现层和控制器,hibernate作为持久层,spring作为业务层(充分应用IOC和AOP).其实业务还是业务,只 ...

  2. nginx 虚拟主机

    基于域名的虚拟主机 创建站点目录 [root@nginx conf]# cd /usr/local/nginx/html/ [root@nginx html]# pwd /usr/local/ngin ...

  3. MyEclipse8.5 以debug模式启动tomcat6.0服务器 报错cannot connect to vm。

    打开MyEclipse8.5 想以debug模式启动tomcat6.0服务器,报  a configuration error occurred during startup.please verif ...

  4. .NET 认识

  5. The maximum number of cell styles was exceeded. You can define up to 4000 styles

    POI操作Excel中,导出的数据不是很大时,则不会有问题,而数据很多或者比较多时, 就会报以下的错误,是由于cell styles太多create造成,故一般可以把cellstyle设置放到循环外面 ...

  6. xcode target

    A target specifies a product to build and contains the instructions for building the product from a ...

  7. 为什么需要提前撰写Spec文档

    Joel on Software(中文名叫<Joel软件随想录>)算得上是一本旧书了,但里面的建议和讨论,真的是历久弥新.特别是,Joel是个有趣.牛逼的家伙:前微软Excel的职员.St ...

  8. WebLogic的下载与安装

    一.WebLogic的介绍    WebLogic是美国bea公司出品的一个application server,确切的说是一个基于Javaee架构的中间件,纯java开发的,最新版本WebLogic ...

  9. 使用Masonry对UIScrollView自动布局

    之前使用Masonry对UIScrollView进行过约束,当时是遇到了问题的,怎么约束都不对,因为赶进度直接改用frame了也没有对问题深究.就这样过了很久.........,直到前一段换工作的时候 ...

  10. dedecms首页去掉index&period;html怎么设置

    很多网友用IIS服务器建站,反映说dedecms首页默认多了一个/index.html,一般是没有这个后缀的,直接就**.com,那么如何将dedecms首页去掉index.html呢?很简单,服务器 ...