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的简答介绍以及使用,就结束了,希望对各位初学的童鞋有所帮助。加下来会持续整理三大框架相关的文章。









最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

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