什么是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. python 线程队列LifoQueue-LIFO(36)

    在 python线程队列Queue-FIFO  文章中已经介绍了 先进先出队列Queue,而今天给大家介绍的是第二种:线程队列LifoQueue-LIFO,数据先进后出类型,两者有什么区别呢? 一.队 ...

  2. SpringCloud服务注册与发现中心-Eureka

    1.服务注册与发现的好处: 假设没有这个东西,那么如果存在a,b,c三个同样的服务: 而现在有一个u服务需要用到a或b或c提供的接口,那么u里面肯定是需要配置这三个服务的地址,然后调用的时候还有问题就 ...

  3. 自己实现CountDownLatch

    自己实现的CountDownLatch ,只是模拟他的功能而已.jdk中的实现采用的是AQS public class MyCountDownLatch { private final int tot ...

  4. 在 VMware 中安装 MacOS 全记录

    在 VMware 15 中安装 MacOS Mojave 安装文件 下载:Unlocker v3.0 for VMware 15地址:https://github.com/DrDonk/unlocke ...

  5. 开始Jupyter Notebooks

    开始Jupyter Notebooks 安装Anaconda 因为不能有空格,所以没有选C:\Program Files 认识Jupyter Notebooks 修改 jupyter notebook ...

  6. PB Event ID 含义 内容浅析

    Event ID 含义 内容浅析 event可以用pb自带的id,自动触发事件,而function就需要你去调用了,返回值多种多样 单选或多选按钮消息(前缀:pbm_bm) pbm_bmgetchec ...

  7. ReflectionTest:由输入的类名得到类的信息

    package reflection; import java.lang.reflect.*; import java.util.*; public class ReflectionTest { pu ...

  8. mysql优化limit

    limit 1.当只需要一条数据的时候,用limit1: 2.当需要提高分页效率的时候: 如果用上面的语句分页少量数据还是可以用的,但是随着数据量越来越大,直接用limit语句查询速度就会越来越慢,降 ...

  9. UOJ220 [NOI2016] 网格 【割顶】【并查集】

    题目分析: 答案显然只有{-1,0,1,2}四种. 对于答案等于-1的情况,只有两种情况,一种是只剩一只跳蚤,另一种是只剩两只跳蚤且他们四连通,这个很好判. 对于答案等于0的情况,那说明联通块大于1, ...

  10. interface Part3(实现:显示和隐式)

    1. 接口的实现实际上和类之间的继承是一样的,也是重写了接口中的方法,让其有了具体的实现内容. 2. 但需要注意的是,在类中实现一个接口时必须将接口中的所有成员都实现,否则该类必须声明为抽象类,并将接 ...