什么是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. ArcObjects中IMapAlgebraOp的使用体会

    本文提供使用IMapAlgebraOp接口实现大部分栅格计算的简单方法. 1.首先,ArcObjects提供了很多关于栅格计算的方法,有条件运算.逻辑运算及数学表达式,如下:              ...

  2. Universial robot 运动学

    1 正运动学: 1.1 DH方法理解 第i个坐标系固连在第i个连杆的左端.轴i固连于i-1杆,在i-1杆的右端.  i坐标系固定在i杆上,随这i杆转动. 每个连杆有四个参数,第i个连杆: ai = ( ...

  3. Kubernetes(k8s)目录

    Kubernetes(k8s)目录 Kubernetes集群安装(亲测有效)

  4. [转帖]实时流处理系统反压机制(BackPressure)综述

    实时流处理系统反压机制(BackPressure)综述 https://blog.csdn.net/qq_21125183/article/details/80708142 2018-06-15 19 ...

  5. [转帖]Dockerfile: ENTRYPOINT和CMD的区别

    Dockerfile: ENTRYPOINT和CMD的区别 https://zhuanlan.zhihu.com/p/30555962 在我们查阅Dockerfile的官方文档时, 有可能发现一些命令 ...

  6. [SQL] - 报表查询效率优化

    背景 系统将数据对象JSON序列化后存放到数据库字段中.Report 模块需要获取实时数据对象数值,当前在SQL中进行数值判断的耗时长,效率低. 分析 当前执行效率低主要是程序结构设计的不合理. SQ ...

  7. Android--文件存取

    import java.io.ByteArrayOutputStream; import java.io.FileInputStream; import java.io.FileNotFoundExc ...

  8. ASP.Net Core 返回的json数据,自定义日期格式

    //代码位置:Startup.cs public void ConfigureServices(IServiceCollection services) { services.AddMvc() .Ad ...

  9. JMeter-03-元件的作用域与执行顺序

    JMeter元件的作用域与执行顺序 元件的作用域 先来讨论一下元件有作用域.<JMeter基础元件介绍>一节中,我们介绍了8类可被执行的元件(测试计划与线程组不属于元件),这些元件中,取样 ...

  10. 起始路由改成分区(Areas)的RouteConfig.cs配置方法

    public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/ ...