Hibernate的使用(一) 持续更新

Hibernate的简介及简单使用

一、什么是Hibernate。

还在自学JavaWeb基础的童鞋们可能听到Hibernate这个单词的时候,感觉非常的高大上,那么,我在这里给大家介绍一下什么是Hibernate。Hibernate是一个开源的ORM(Object Relational Mapping)框架,也就是对象关系映射框架,它是对我们Java基础中的JDBC框架进行了一个轻量级的封装,所谓的封装,就是使相应的操作变的更为简单。

二、Hibernate的应用场景。

 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命 意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。

三、Hibernate的执行流程图


四、Hibernate的入门

对于JavaEE中框架的学习使用,步骤都非常的雷同。大致都可以分为如下几步(以Hibernate为例子):

步骤一:下载Hiberante开发包

下载地址:Hibernate开发包下载地址


步骤二:下载完开发包后,我们一起来看一下解压后的目录结构。


步骤三:创建WEB工程,引入jar包

3.1 创建Web工程


3.2引入Hibernate需要的jar包

Hibernate需要导入的jar包

下面required文件夹下面的包需要导入之外

还需要导入Hibernate的核心包,以及mySql的驱动包



我的Demo中的jar包贴上了


步骤四:创建数据库和表


步骤五:创建与数据库中表对应的实体类



步骤六:将实体类与表关系映射起来(ORM 对象关系映射)

映射文件通常有一个命名规则:类名.hbm.xml

hbm:hibernate_Mapping

6.1 在实体类文件夹下,创建 类名.hbm.xml 文件


 6.2 引入约束


6.3 配置实体对象与表关系的映射

其中主要使用到如下几个标签:

a. <Hibernate-Mapping>标签  每一个hbm.xml文件都有唯一的一个根元素

b.<class>标签   用来描述类与表的映射关系

c.<id>标签  主要配置oid与标的组件

d.<property>标签   配置对象中的普通属性与表中的普通字段的映射关系

具体详解点击如下链接: Hibernate映射文件详解

我就直接把代码贴在下面了

步骤七:创建Hibernate的核心配置文件

7.1 在src目录下新建一个名为  hibernate.cfg.xml的文件


7.2 引入约束文件



7.2 进行核心配置文件的配置

<hibernate-configuration> 标签 : 核心配置文件的根标签。

<session-factory> 标签:

<property>  标签: 配置连接数据库的信息。

<mapping> 标签: 加载映射文件。


7.3 核心配置文件中都配置了哪些东西了

7.3.1 必须的配置 有4个连接数据的基本参数,hibernate的方言也是必须的

hibernate.dialect    操作数据库方言

hibernate.connection.driver_class   连接数据库驱动程序

hibernate.connection.url   连接数据库URL

hibernate.connection.username   数据库用户名

hibernate.connection.password   数据库密码

   7.3.2.可选的配置

显示sql语句 格式化sql语句 是否自动提交的

hibernate.show_sql    true 在控制台上输出SQL语句

hibernate.format_sql   true格式化控制台输出的SQL语句

hibernate.connection.autocommit   true 事务是否自动提交

hibernate.hbm2ddl.auto  是否映射文件自动转存sqlDDL生成 里面有 create/create-drop/update/validate

create : 每次执行的时候都会创建一个表,就是数据中有张表,如果一运行就会把数据库中的表删了,然后创建,每一次都是用一个新的表来进行操作,每一次一执行的时候都创建一个新的表,如果以前有这张表,就会删除这张表,然后重新创建。一般的是测试的时候才用,每一次都想看到-新的数据,每一次都给他设成create

create-drop :每一次执行的时候,创建一个新的表,程序执行结束后,将这个表删除了,最后数据库里边什么都没有了,这个也是一般测试的时候使用

update :如果数据库里没有表就会创建一个表,如果有了就直接使用这个表,而且使用的时候可以更新表的结构

如果你表里已经有数据age,现在写错成username,那它又会给你加一个属性字段username,就是给你把表结构更新,就会给你在表中添加一列username

validate : 校验 不糊创建表,只会使用原有的表,会使用原有 数据库中已有的表,但是会完成校验,会校验映射文件和表中配置的字段是否一致,update不会校验,而validate会完成校验,如果不一致就会报错


直接把代码贴上来


步骤八: 编写测试方法

实现需求:向数据库中插入一条数据。

直接上代码:


到此为止,一个Hibernate的简答介绍以及使用,就结束了,希望对各位初学的童鞋有所帮助。加下来会持续整理三大框架相关的文章。









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

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,598评论 18 139
  • 本文中我们介绍并比较两种最流行的开源持久框架:iBATIS和Hibernate,我们还会讨论到Java Persi...
    大同若鱼阅读 4,301评论 4 27
  • Hibernate: 一个持久化框架 一个ORM框架 加载:根据特定的OID,把一个对象从数据库加载到内存中OID...
    JHMichael阅读 1,958评论 0 27
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,577评论 18 399
  • 新买的绿萝黄了一片叶子 我把枯叶摘下丢在空气里 从此盆里空了一个叶子 新买的书刚看了几遍楔子 只言片语中少了几分风...
    左眼泪阅读 171评论 0 0