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.我们知道,利用面向对象的思想编写的数据库应用程序最终都是把对象信息保存在关系型数据库中,于是需要编写与底层数据库相关的 ...
随机推荐
- 【附6】hystrix metrics and monitor
一.基本方式 hystrix为每一个commandKey提供了计数器 二.实现流程 https://raw.githubusercontent.com/wiki/Netflix/Hystrix/ima ...
- js与jquery对象的互转
//dom对象 var odiv = document.getElementById('box'); //dom对象转化成JQ对象, 在通过原生的方法获取到元素后,给它加上$() //$(odiv). ...
- WebApi——json返回多了 k_BackingField
产生原因: model类添加了 [System.Serializable] 解决方案: xxxxx.WebApi\App_Start\WebApiConfig.cs的Register函数中添加如 ...
- UVa 1606 两亲性分子
https://vjudge.net/problem/UVA-1606 题意:平面上有n个点,每个点为白点或者黑点.现在需放置一条隔板,使得隔板一侧的白点数加上另一侧的黑点数总数最大.隔板上的点可以看 ...
- Codeforces Beta Round #94 div 2 C Statues dfs或者bfs
C. Statues time limit per test 2 seconds memory limit per test 256 megabytes input standard input ou ...
- 《Robot Framework自动化测试修炼宝典》道长
1. Python下载https://www.python.org/downloads 2. Setuptools下载https://pypi.python.org/pypi/setuptools用原 ...
- meta 标签
<meta http-equiv="Refresh" content="5;url=http://www.w3school.com.cn" /> & ...
- Java设计模式(五)——适配器模式
先举一个例子解释一下生活中的适配器模式:公司老总要求工程部经理来汇报一下公司内部的消防设备使用和维护情况.接到通知后,工程部经理老宋找了专门负责消防设备统计的维护人员小王,请他调出了去年全年的维护记录 ...
- 测试工作中经常用到的一丢Linux命令
自己平时测试工作中经常要在Linux下搭建测试环境,有涉及到启动/终止服务器,修改tomcat配置文件,偶尔碰到端口被占用... 这时就不得不需要一些基本的Linux命令来处理遇到的这些问题 1.cd ...
- Confluence 6 从外部目录中同步数据如何工作
下面是有关缓存功能的一些摘要信息: 用户和用户组的缓存信息保存在应用程序的数据库中. 当你连接一个新的外部目录到系统中的时候,一个同步任务将会启动被,并且在后台运行拷贝所有需要的用户和用户组信息,以及 ...