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