什么是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. 各种软件安装的URL

    Python爬虫动态抓取的工具 PhantomJS

  2. linux vi指令常用

    1:退出时提示:No write since last change (add ! to override):解决方法:直接ctrl + z退出

  3. twemproxy配置

    redis多主从,多节点,读写分离架构. nutcracker.yml的twemproxy配置 #redis_main是twemproxy所控制redis主从集群逻辑名称 redis_main: #t ...

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

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

  5. TCP,SYN,FIN扫描

    1.TCP扫描相对来说是速度比较慢的一种,为什么会慢呢?因为这种方法在扫描的时候会从本地主机的一个端口向目标主机的一个端口发出一个连接请求报文段,而目标主机在收到这个这个请求报文后: 有回复: 若同意 ...

  6. 2019 牛客多校五 F. maximum clique 1 (最大团)

    大意: 给定$n$个互不相同的数, 若两个数异或后二进制中$1$的个数不少于$2$则连边, 求最大团. 最大团转为补图最大独立集. 可以发现补图是二分图, 所以直接$dinic$即可. 最大独立集相当 ...

  7. Advanced REST Client 的安装

    1.解压Advanced-REST-client_v3.1.9.zip到当前文件夹,得到Advanced-REST-client_v3.1.9目录      2.在Chrome浏览器中打开:chrom ...

  8. Effective Java 读书笔记(一):创建和销毁对象

    1 构造器 => 静态工厂方法 (1)优势 静态工厂方法有名字 静态工厂方法不必在每次被调用时都产生一个新的对象 静态工厂方法能返回原返回类型的任意子类型的对象 静态工厂方法根据调用时传入的不同 ...

  9. Authentication failed for "http://xxxxxx"

    1.配置用户信息 git config --global user.name [username] git config --global user.email [email] 2.查询用户信息   ...

  10. map函数的应用

    map函数在Python中的应用 函数介绍: map() 会根据提供的函数对指定序列做映射. map(function, iterable, ...) 第一个参数function 以参数序列中的每一个 ...