一、Hibernate的概念

hibernate是数据访问层的框架,对JDBC进行了封装,是针对数据库访问提出的面向对象的解决方案。使用它可以直接访问对象,自动将此访问转换为SQL执行,从而达到间接访问数据库的目的,简化了数据访问层的代码开发。

二、hibernate与JDBC的区别

* 使用JDBC具有以下缺点:

--需要编写大量的SQL语句

--需要给大量的?参数赋值

--需要将ResultSet结果集转换成实体对象

--SQL中包含特有的函数,无法移植

*使用hibernate可以解决上述问题.

三、设计原理

hibernate采用ORM(对象关系映射)思想,可以直接访问实体对象,然后根据映射关系,转换成SQL去执行。

四、使用hibernate的步骤:

1.  主配置文档(hibernate.cfg.xml),可以配置数据库连接参数,框架参数,映射关系文件。

2.   实体类,与数据库对应的java类。

3.   映射关系文件(*.hbm.xml),配置实体类和数据表的对应关系,以及类中属性和表中字段之间的对应关系。

4.   使用Hibernate常用的API执行增删改查操作。

五、hibernate常用API

* Configuration :赋值加载主配置文件信息,同时也加载映射关系文件信息

* SessionFactory :赋值创建Session对象

* Session : 数据库连接会话,负责执行 增删改查操作

* Transaction : 负责事务的控制

* Query :负责执行特殊的查询

六、hibernate映射配置文档中的java类型。

* 映射文件中,配置属性和自动关系时,可以在type属性上指定java类型。使用java类型时,需要写出完整的类型名,如:java.lang.String。

* hibernate也提供了一些类型来支持这些映射,写法比较简单,小写即可。如下图:

hibernate预定义类型:

HIbernate学习笔记1 之 简介的更多相关文章

  1. Hibernate学习笔记(二)

    2016/4/22 23:19:44 Hibernate学习笔记(二) 1.1 Hibernate的持久化类状态 1.1.1 Hibernate的持久化类状态 持久化:就是一个实体类与数据库表建立了映 ...

  2. Hibernate学习笔记(一)

    2016/4/18 19:58:58 Hibernate学习笔记(一) 1.Hibernate框架的概述: 就是一个持久层的ORM框架. ORM:对象关系映射.将Java中实体对象与关系型数据库中表建 ...

  3. Hibernate 学习笔记一

    Hibernate 学习笔记一 今天学习了hibernate的一点入门知识,主要是配置domain对象和表的关系映射,hibernate的一些常用的配置,以及对应的一个向数据库插入数据的小例子.期间碰 ...

  4. Hibernate学习笔记-Hibernate HQL查询

    Session是持久层操作的基础,相当于JDBC中的Connection,通过Session会话来保存.更新.查找数据.session是Hibernate运作的中心,对象的生命周期.事务的管理.数据库 ...

  5. C#.NET学习笔记1---C#.NET简介

    C#.NET学习笔记1---C#.NET简介 技术qq交流群:JavaDream:251572072  教程下载,在线交流:创梦IT社区:www.credream.com -------------- ...

  6. Linux学习笔记-Linux系统简介

    Linux学习笔记-Linux系统简介 UNIX与Linux发展史 UNIX是父亲,Linux是儿子. UNIX发行版本 操作系统 公司 硬件平台 AIX IBM PowerPC HP-UX HP P ...

  7. Hibernate学习笔记

    一.Hibernate基础 1.Hibernate简介 Hibernate是一种对象关系映射(ORM)框架,是实现持久化存储的一种解决方案.Java包括Java类到数据库表的映射和数据查询及获取的方法 ...

  8. 《C# 语言学习笔记》——C# 简介

    1 什么是.NET Framework .NET Framework 是Microsoft为开发应用程序而创建的一个富有革命性的新平台. 1.1 .NET Framework 的内容 .NET Fra ...

  9. Window脚本学习笔记之BAT简介

    本篇文章不是直接讲技术,而是对我自己学习这些年来的一番感触和简单的介绍,其间也穿插着一些基本的知识,若是学习技术者可跳过,亦不妨碍学习其他. BAT简介 BAT是Windows的批处理脚本,即以后缀“ ...

随机推荐

  1. [HNOI2007][BZOJ1185] 最小矩形覆盖 [凸包+旋转卡壳]

    题面 BZOJ题面 前置芝士 建议先学习向量相关的计算几何基础 计算几何基础戳这里 思路 用这道题学习一下凸包和旋转卡壳 首先是凸包部分 凸包 求凸包用的算法是graham算法 算法流程如下: 找到$ ...

  2. Hyperledger Fabric 实战(十): Fabric node SDK 样例 - 投票DAPP

    Fabric node SDK 样例 - 投票DAPP 参考 fabric-samples 下的 fabcar 加以实现 目录结构 . ├── app │ ├── controllers │ │ └─ ...

  3. mobx动态添加observable

    mobx使用extendObservable来动态添加observable属性. extendObservable(target, properties, decorators?, options?) ...

  4. Redis 的安装配置介绍

    redis 是一个高性能的key-value数据库. redis的出现,很大程度补偿了memcached这类keyvalue存储的不足,在部 分场合可以对关系数据库起到很好的补充作用.它提供了Pyth ...

  5. HDU 5586 (dp 思想)

    Sum Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submis ...

  6. SQLite 学习笔记

    SQLite 学习笔记. 一.SQLite 安装    访问http://www.sqlite.org/download.html下载对应的文件.    1.在 Windows 上安装 SQLite. ...

  7. 一图看懂深度学习框架对比----Caffe Torch Theano TensorFlow

      Caffe Torch Theano TensorFlow Language C++, Python Lua Python Python Pretrained Yes ++ Yes ++ Yes ...

  8. [技巧篇]21.Android Studio的快捷键设置[图片版]

    如果对你有帮助,请点击推荐!

  9. [LeetCode][Facebook面试题] 通配符匹配和正则表达式匹配,题 Wildcard Matching

    开篇 通常的匹配分为两类,一种是正则表达式匹配,pattern包含一些关键字,比如'*'的用法是紧跟在pattern的某个字符后,表示这个字符可以出现任意多次(包括0次). 另一种是通配符匹配,我们在 ...

  10. Tomcat设置开启时自动访问某个servlet类存在的问题

    <servlet> <servlet-name>****</servlet-name> <servlet-class>****</servlet- ...