什么是ORM

  • ORM(Object/Relationship Mapping):对象/关系映射
  • 为什么要有ORM?

利用面向对象思想编写的数据库应用程序最终都是把对象信息保存在关系型数据库中,于是要编写很多和底层数据库相关的SQL语句。

写SQL语句有什么不好吗?

1.不同的数据库使用SQL语法不同。比如:PL/SQL与T/SQL

2.同样的功能在不同的数据库中有不同的实现方式。比如分页SQL。

3.程序过分依赖SQL对程序的移植及扩展,维护等带来很大的麻烦。

有没有办法让程序员彻底抛弃书写SQL的思想,完全的使用面向对象思想开发软件呢?

需要一种可行的ORM框架技术——Hibernate

什么是Hibernate

Hibernate是Java领域的一款开源的ORM框架技术。

Hibernate对JDBC进行了非常轻量级的对象封装。

Hibernate在应用程序当中充当了一种什么样的角色呢?

Hibernate处于业务逻辑层和数据库之中

持久化层的作用:把程序当中生成的对象持久化到数据库当中,换句话说,把我们的对象通过Hibernate(对象/关系映射)最终保存到数据库当中的表中

其它主流的ORM框架技术:

1.MyBaits:前身就是著名的iBatis

2.Toplink:后被Oracle收购,并重新包装为Oracle AS TopLink

3.EJB:本身是JAVAEE的规范

编写第一个Hibernate例子

  • 开发工具:Eclipse Standard Kepler
  • Hibernate Tools for Eclipse Plugins

Hibernate Tools是由JBoss推出的一个Eclipse综合开发工具插件,该插件可以简化ORM框架Hibernate,以及JBoss Seam,EJB3等的开发工作。

如何安装Hibernate Tools

安装步骤;Help/Install New Software

Add/Archive...

找到安装包

name随便去个名字

全打上勾,一路next

开始安装插件

重启

File/New找到Hibernate,说明插件安装成功了

在实际中,我好像用这个方法没有安装成功,在网上找了很多资料最后参考了这篇博客https://blog.csdn.net/yuqinying112/article/details/7064122(Hibernate Tools for Eclipse插件的安装和使用),终于安装成功!

具体方法如下:

一般我还是喜欢下载所需的插件后自己配置, 这样可以对插件进行管理。方法如下:

下载所需的Hibernatetools  http://www.hibernate.org/6.html

将下载得到的文件解压得到features和plugins文件夹,在eclipse安装目录里新建addPlugins文件夹, 同时在addPlugins文件夹下建立Hibernatetools文件夹, 将两个文件夹(features和plugins)复制到Hibernatetools目录下,然后在eclipse目录下建立links文件夹,在links文件夹下建立 hibernatetools.link文件, 打开该文件输入 Hibernatetools的绝对目录。

我的文件夹如下所示

D:\java\plateform\eclipse_jee\eclipse\addPlugins\hibernatetools
D:\java\plateform\eclipse_jee\eclipse\links

links文件夹的hibernatetools.link文件内容如下

path=D:/java/plateform/eclipse_jee/eclipse/addPlugins/hibernatetools

这样重新启动eclipse即可

Hibernate初探之单表映射——Hibernate概念及插件的安装的更多相关文章

  1. Hibernate初探之单表映射

    http://www.imooc.com/video/7816 1.什么是ORM?为什么使用Hibernate? 对象关系映射:为了少写和底层数据库相关的sql语句,方便程序的维护.修改,提高跨平台性 ...

  2. Hibernate初探之单表映射——创建Hibernate的配置文件

    编写第一个Hibernate例子 第一步:创建Hibernate的配置文件 使用安装的Hibernate tools插件帮我们自动生成 如果在编辑的时候eclipse没有出现代码自动提示功能的话,我们 ...

  3. (一)Hibernate初探之——单表映射

    Hibernate充当持久化层 项目结构: 一.创建项目导入jar包. hibernate-core   &  junit4       &   mysql-jdbc 二.src目录下 ...

  4. Hibernate初探之单表映射——第二章:Hibernate进阶

    第二章:Hibernate进阶 1.hibernate.cfg.xml常用配置 2.session 简介 3.transaction简介 4.session详解 5.对象关系映射常用配置 1.hibe ...

  5. Hibernate初探之单表映射——创建对象-关系映射文件

    编写一个Hibernate例子 第三步:创建对象-关系映射文件 以下是具体实现步骤: 找到我们要持久化的学生类Sudents 生成对象-关系映射文档Students.hbm.xml: <?xml ...

  6. Hibernate初探之单表映射——jar包的导入

    编写第一个Hibernate例子需要的基本步骤 创建Hibernate的配置文件 创建持久化类 创建对象-关系映射文件 通过Hibernate API编写访问数据库的代码 使用版本:Hibernate ...

  7. Hibernate初探之单表映射——通过Hibernate API编写访问数据库的代码

    编写一个Hibernate例子 第五步:通过Hibernate API编写访问数据库的代码 初始化方法要实现以下功能:

  8. Hibernate初探之单表映射——使用Junit进行测试

    编写一个Hibernate例子 第四步:使用Junit进行测试 三个常用的注解标签 @Test:测试方法 @Before:初始化方法 @After:释放资源 执行顺序:Before注解标签下的方法  ...

  9. Hibernate初探之单表映射——创建持久化类

    编写第一个Hibernate例子 第二步:创建持久化类(持久化类的设计原则要遵循javabeans的设计原则) javabeans的设计原则: 1.公有的类2.提供公有的不带参数的默认的构造方法3.属 ...

随机推荐

  1. iOS-Xib获取view尺寸的问题

    用xib创建的视图,我们一般要在控制器中获取对应的view尺寸,但经常我们没法获取到,或者获取的不准 如果通过xib加载出来的view尺寸是不正确的, 在xib中这个view不管你怎么设置都是治标不治 ...

  2. (简单实用)Android支付宝商家收款语音播报

    支付宝商家收款时,语音提示:支付宝收款xxx元,当时觉得这东西还挺有趣的,第一时间通知给商家,减少不必要的纠纷,节约时间成本,对商家对用户都挺好的. 在商家版有这样收款播报的功能,我觉得挺好的. 对列 ...

  3. js删除json指定元素

    var obj = {‘id’:1, ‘name’:‘张三’}; delete obj.id; // 或者 delete obj[id];

  4. python实践项目二:列表转字符串

    将列表各元素转换为字符串并以规定形式返回. 假定有下面这样的列表:spam = ['apples', 'bananas', 'tofu', 'cats'],将其转换成字符串:'apples, bana ...

  5. Beginning Linux Programming 学习--chapter 17 Programming KDE using QT

    KDE: KDE,K桌面环境(K Desktop Environment)的缩写.一种著名的运行于 Linux.Unix 以及FreeBSD 等操作系统上的自由图形桌面环境,整个系统采用的都是 Tro ...

  6. 网页授权access_token,基础支持access_token,jsapi_ticket

    微信开发中网页授权access_token与基础支持的access_token异同 问题1:网页授权access_token与分享的jssdk中的access_token一样吗? 答:不一样.网页授权 ...

  7. 《Mysql - Mysql 是如何保证主备一致的?》

    一:Mysql 主备的基本原理? - 主备切换流程(M-S 架构) -  - 在状态 1 中,客户端的读写都直接访问节点 A,而节点 B 是 A 的备库,只是将 A 的更新都同步过来,到本地执行. - ...

  8. todo----mysql常用语句总结补充完成

    todo----mysql常用语句总结补充完成

  9. Java基础---Java 类

    类 成员变量直接定义在类里面,在方法的外面: 成员方法不要写static关键字 eg: public class Student { String name; // 成员变量 int aeg; //成 ...

  10. Python05之常用操作符

    主要有三类:算数运算符,比较运算符,逻辑运算符 一.算数运算符: 加(+)减(-)乘(*)除(/)幂运算(**)地板除(//)取余数(%) 注:/和//的区别: 数据1 / 数据2 = 数据3   ( ...