ORM与hibernate概述
JDBC是什么?
JDBC代表java数据库连接,并提供一组java API,用于java成许访问关系数据库。这些Java的API允许Java程序执行SQL语句,并与任何SQL兼容的数据库进行交互。
JDBC提供了一个灵活的构架来编写一个独立于数据应用程序,它可以再不同的平台上运行,并与不通的数据库关系系统交互,而无需任何修改
JDBC的优缺点:
优点: 干净简单的sql处理 、良好的性能与大数据、很适合应用于小型应用、语法简答,容易学习
缺点:如果被用于大型项目,复杂、变成开销大、没有封装、难以实现MVC理念、查询的是具体的数据库管理系统
ORM是什么?
ORM (对象--关系映射)是一种编程思想,在某些方面较JDBC为优化一些
ORM优点:
S.N.优点1让业务代码访问对象,而不是数据库表。2隐藏了面向对象的逻辑SQL查询详情。3基于JDBC的“引擎盖下”4无需处理数据库实现。5基于业务概念,而不是数据库结构的实体。6事务管理和自动密钥生成。7应用程序的快速开发。
ORM解决方案由以下四种实体:
| S.N. | 解决 |
|---|---|
| 1 | 一个API来对持久化类的对象执行基本的CRUD操作。 |
| 2 | 语言或API来指定引用的类和类的属性查询。 |
| 3 | 一个可配置的设备,用于指定映射元数据。 |
| 4 | 技术与事务对象交互,以执行脏数据检查,懒关联加载,以及其他优化功能。 |
一些java ORM框架
有几种持久性框架和Java的ORM方案。持久性框架是一个ORM的服务,存储和检索对象到关系型数据库。
企业JavaBeans实体Bean
Java Data Objects
Castor
TopLink
Spring DAO
Hibernate
And many more
hibernate
hibernate是一种轻量级的ORM框架,优点:使用简单,功能强大,对市场上大都数据库良好支持,轻量级框架不依赖任何容器
hibernate原理:hibernate充当DAO层,根据POJO与实体类的映射自动生成对应的SQL语句
ORM与hibernate概述的更多相关文章
- Hibernate —— 概述与 HelloWorld
一.Hibernate 概述 1.Hibernate 是一个持久化框架 (1)从狭义的角度来讲,“持久化” 仅仅指把内存中的对象永久的保存到硬盘中的数据库中. (2)从广义的角度来讲,“持久化” 包括 ...
- Hibernate之ORM与Hibernate
ORM: ORM是 Object /Relation Mapping,对象/关系数据库映射. 目前比较流行的编程语言,如java ,c#等,它们都是面向对象的编程语言,而目前比较主流的数据库产品,如O ...
- 5 -- Hibernate的基本用法 --1 ORM和Hibernate
目前流行的编程语言,如Java.C#等,它们都是面向对象的编程语言,而目前铸就的数据库产品,例如Oracle.DB2等,依然是关系数据库等.编程语言和底层数据库的发展不协调,催生出了ORM框架.ORM ...
- 学习ORM框架—hibernate(三):跟踪持久化对象状态,掌握对象持久化
准备工作 在上篇博客中学习ORM框架—hibernate(一):初识hibernate,通过简单的实例说明O和R的映射过程.本篇博客将要介绍hibernate中持久化对象的状态,并使用hibernat ...
- Hibernate学习笔记(一)—— Hibernate概述及入门
一.Hibernatea概述 1.1 什么是Hibernate? 在介绍什么是Hibernate之前,我们先讨论一下什么是框架?框架是用来提高开发效率的,框架封装好了一些功能,我们需要使用这些功能时, ...
- hibernate概述
转自:http://www.cnblogs.com/eflylab/archive/2007/01/09/615338.html Hibernate的核心组件在基于MVC设计模式的JAVA WEB应用 ...
- ORM和Hibernate的配置方式
分层体系结构: 逻辑上一般分为三层:表述层(提供与用户交互的界面).业务逻辑层(实现各种业务的逻辑).数据库层(负责存放和管理应用的持久性业务数据). 物理上一般分为两层:物理层(每一层都运行在网络上 ...
- JPA与ORM以及Hibernate
- Hibernate入门1 - Hibernate概述及第一个小例子
一.什么是ORM? ORM,即Object Relational Mapping.我们知道,利用面向对象的思想编写的数据库应用程序最终都是把对象信息保存在关系型数据库中,于是需要编写与底层数据库相关的 ...
随机推荐
- 【入门教程】kafka环境搭建以及基础教程
问题导读 1.Kafka独特设计在什么地方?2.Kafka如何搭建及创建topic.发送消息.消费消息?3.如何书写Kafka程序?4.数据传输的事务定义有哪三种?5.Kafka判断一个节点是否活着有 ...
- jquery.cookie.js中$.cookie() 使用方法
定义:让网站服务器把少量数据储存到客户端的硬盘或内存,从客户端的硬盘读取数据的一种技术: 下载与引入:jquery.cookie.js基于jquery:先引入jquery,再引入:jquery.coo ...
- 机器学习-数据可视化神器matplotlib学习之路(四)
今天画一下3D图像,首先的另外引用一个包 from mpl_toolkits.mplot3d import Axes3D,接下来画一个球体,首先来看看球体的参数方程吧 (0≤θ≤2π,0≤φ≤π) 然 ...
- Struts2 文件下载(中文处理方法以及控制下载文件名称和扩展名)
Struts2的框架提供了现成的文件下载方式,大大简化了开发下载功能的便利性.网上的例子有很多,我把一些大家普遍比较关注的点,集中一下,给出一个整体方案. 一般我们照着书本或者网上的列子写出了一个De ...
- Python day6_dictionary字典的常见方法1_笔记(基本类型结束)
# 字典的简述 # 1.字典不能做字典的key,列表也不能作为列表的key info={ 'k1':'v1', 'k2':'v2' } print(info) #2.通过键获取值 print(info ...
- Qt5.3.2(VS2010)_调试_遇到的问题
1.(20171124)调试程序 的时候,一直卡住,看到 右下角的进度里面,一直是"Launching Debugger"的状态 ZC: 一直找不到 原因... 尝试了 32位/6 ...
- php5.4 的 arm 交叉编译
./configure --prefix=/h1root/usr/php --host=arm-linux --enable-libxml --with-mysql=mysqlnd --with-my ...
- Go开发环境安装配置
访问下载地址:https://golang.org/dl/ 32位系统下载go1.8.1.linux-386.tar.gz,64位系统下载go1.8.1.linux-amd64.tar.gz, 假定你 ...
- [INS-20802] Oracle Net Configuration Assistant failed,Caught UnknownHostException
在64位Centos上安装64的oracle 11g R2,出现错误: [INS-20802] Oracle Net Configuration Assistant failed 根据提示查看日志文件 ...
- HttpServletResponse输出的中文乱码
HttpServletResponse输出有两种格式,一种是字符流,一种是字节流. 1.字符流 // 这句话的意思,是让浏览器用utf8来解析返回的数据,即设置客户端解析的编码 response.se ...