Hibernate的使用(一)

什么是Hibernate?

       开源的,轻量级的,内部实现了ORM思想的,封装了JDBC的持久层框架.那么什么是开源的,它指的是开放源代码;轻量级的,是因为它消耗的资源(内存)少,依赖的jar包少;内部实现了ORM思想指的是它不再关注sql语句的编写,只需操作实体类的属性和方法;封装了JDBC因此对比JDBC的效率会有所降低,但是Hibernate提供了一系列的优化手段保证查询效率.

第一部分 Hibernate的入门

这一部分用一句话概括:一个思想,两个映射,三个准备,七个步骤.

一个思想:

       指的是ORM思想,是Object Relation Mapping的缩写(对象关系映射).

       ORM思想在Hibernate中有三个步骤:

               (1)将实体类和数据库表映射起来;

               (2)将类中的属性和表中的字段映射起来;

               (3)使用配置文件将这些关系描述出来.

两个映射:

       指的是描述实体类和数据库表的映射关系的xml文件,是搭建Hibernate运行环境的一个步骤,就要涉及马上要讲的三个准备.

三个准备:    

         搭建Hibernate运行环境需要三个准备工作:

                 第一步,创建工程,导入jar包(可到http://sourceforge.net/projects/hibernate/files/hibernate-orm/5.0.7.Final/ 中下载);

                 第二步,根据表编写它的实体类和实体类映射文件,这里要注意的是映射文件的位置以及命名(位置:实体类所在的包下,命名:实体类名.hbm.xml);

xml文件的编写首先要导入DTD约束,如图1

图1

 然后将实体类和数据库表映射起来,使用的是class标签,如图2

图2

  然后就是将类中的属性和表中的字段映射起来,这一涉及到配置主键和配置普通属性,配置主键使用id标签,配置普通属性使用property标签,如图3

图3

第三步,编写核心配置文件,这里需要配置数据库信息、Hibernate的配置信息以及映射文件的位置(位置:src下;命名:hibernate.cfg.xml).

核心配置文件首先也要导入DTD约束,但和映射文件的约束不同,如图4

图4

然后就是就是编写数据库配置信息和hibernate配置信息,如图5

图5

在做完以上工作后就可以对数据库进行增删改查了!

七个步骤:

        (1)加载配置文件:

                 Configuration cfg = new Configuration();

                 cfg.configure();

        (2)构建一个SessionFactory对象

                  SessionFactory  factory  =  cfg.buildSessionFactory();

        (3)打开一个新的session对象

                  Session session = sessionFactory.openSession();

        (4)开启事务,返回事务对象

                  Transaction tx = session.beginTransaction();

        (5)增删改查:使用session的save、delete、get/load方法进行CRUD(增删改查)操作

        (6)提交事务

                 tx.commit();

        (7)释放资源

                 session.close();

                 sessionFactory.close();

这时我们可进一步抽取一个工具类HibernateUtils,如图6

图6

------------未完待续---------

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,544评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,430评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,764评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,193评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,216评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,182评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,063评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,917评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,329评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,543评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,722评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,425评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,019评论 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,671评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,825评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,729评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,614评论 2 353

推荐阅读更多精彩内容

  • 本文中我们介绍并比较两种最流行的开源持久框架:iBATIS和Hibernate,我们还会讨论到Java Persi...
    大同若鱼阅读 4,310评论 4 27
  • Hibernate的简介及简单使用 一、什么是Hibernate。 还在自学JavaWeb基础的童鞋们可能听到Hi...
    曹枫香阅读 396评论 0 3
  • 本文包括: 1、CRM 项目的整体介绍 2、Hibernate 框架概述 3、Hibernate 快速入门 4、H...
    廖少少阅读 3,475评论 9 66
  • Hibernate: 一个持久化框架 一个ORM框架 加载:根据特定的OID,把一个对象从数据库加载到内存中OID...
    JHMichael阅读 1,967评论 0 27
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,623评论 18 399