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.我们知道,利用面向对象的思想编写的数据库应用程序最终都是把对象信息保存在关系型数据库中,于是需要编写与底层数据库相关的 ...
随机推荐
- 自动化测试框架Cucumber和RobotFramework的实战对比
转自: http://www.infoq.com/cn/articles/cucumber-robotframework-comparison 一.摘要 自动化测试可以快速自动完成大量测试用例,节 ...
- 回顾:C++开篇课堂
周三,在刚刚结束矩阵分析的考试之后,面向对象程序设计课正式开始了C++的学习,这次课的重点即是面向对象思想的理解. 梳理一下知识点. C++中函数的默认参数 在函数声明或者在函数定义时,对参数赋初始值 ...
- hdu 1427 速算24点 dfs暴力搜索
速算24点 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Problem De ...
- hdu 1005 矩阵快速幂
#include<iostream> #include<cstdio> #include<cmath> #include<string> #includ ...
- http post发送请求
一: 用java自带URL发送 public synchronized JSONObject getJSON(String url2, String param) { try { URL url = ...
- Beta 冲刺 第三天
第三天 2018.6.26 今日完成任务情况. 妥志福.牛瑞鑫: 完成任务:让用户接触系统,指出系统中存在的问题,并统计修改的问题,提出修改的方案. 王胜海.马中林: 完成任务:对文档中存在的问题修改 ...
- c++ primer plus 第六章 课后题答案
#include <iostream> #include <cctype> using namespace std; int main() { char in_put; do ...
- 更新自带pip
想安装docker-compose发现居然找不到pip curl https://bootstrap.pypa.io/get-pip.py | python 直接sudo不行.还是提示权限不够. su ...
- CentOS下的Autoconf和AutoMake(完善篇) 3
在<实践篇>之后,由于需求不断修正,所以这篇是针对<实践篇>的一些完善.(以后内容会不定期增加完善) 1.不想链接到math的动态库,想连接到静态库①使用命令ldd ./mys ...
- Lua中模块初识
定义了两个文件: Module.lua 和 main.lua 其中,模块的概念,使得Lua工程有了程序主入口的概念,其中main.lua就是用来充当程序主入口的. 工程截图如下: Module.lua ...