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概述的更多相关文章

  1. Hibernate —— 概述与 HelloWorld

    一.Hibernate 概述 1.Hibernate 是一个持久化框架 (1)从狭义的角度来讲,“持久化” 仅仅指把内存中的对象永久的保存到硬盘中的数据库中. (2)从广义的角度来讲,“持久化” 包括 ...

  2. Hibernate之ORM与Hibernate

    ORM: ORM是 Object /Relation Mapping,对象/关系数据库映射. 目前比较流行的编程语言,如java ,c#等,它们都是面向对象的编程语言,而目前比较主流的数据库产品,如O ...

  3. 5 -- Hibernate的基本用法 --1 ORM和Hibernate

    目前流行的编程语言,如Java.C#等,它们都是面向对象的编程语言,而目前铸就的数据库产品,例如Oracle.DB2等,依然是关系数据库等.编程语言和底层数据库的发展不协调,催生出了ORM框架.ORM ...

  4. 学习ORM框架—hibernate(三):跟踪持久化对象状态,掌握对象持久化

    准备工作 在上篇博客中学习ORM框架—hibernate(一):初识hibernate,通过简单的实例说明O和R的映射过程.本篇博客将要介绍hibernate中持久化对象的状态,并使用hibernat ...

  5. Hibernate学习笔记(一)—— Hibernate概述及入门

    一.Hibernatea概述 1.1 什么是Hibernate? 在介绍什么是Hibernate之前,我们先讨论一下什么是框架?框架是用来提高开发效率的,框架封装好了一些功能,我们需要使用这些功能时, ...

  6. hibernate概述

    转自:http://www.cnblogs.com/eflylab/archive/2007/01/09/615338.html Hibernate的核心组件在基于MVC设计模式的JAVA WEB应用 ...

  7. ORM和Hibernate的配置方式

    分层体系结构: 逻辑上一般分为三层:表述层(提供与用户交互的界面).业务逻辑层(实现各种业务的逻辑).数据库层(负责存放和管理应用的持久性业务数据). 物理上一般分为两层:物理层(每一层都运行在网络上 ...

  8. JPA与ORM以及Hibernate

  9. Hibernate入门1 - Hibernate概述及第一个小例子

    一.什么是ORM? ORM,即Object Relational Mapping.我们知道,利用面向对象的思想编写的数据库应用程序最终都是把对象信息保存在关系型数据库中,于是需要编写与底层数据库相关的 ...

随机推荐

  1. Unity3D学习笔记(十五):寻路系统

    动画生硬切换:animation.play();//极少使用,常用融合方法 动画融合淡入:animation.CrossFade(“Idle”, 0.2f);//0.2f为与前一动画的融合百分比为20 ...

  2. ros python 重置位置

    #!/usr/bin/env python import rospy import math import sys import commands import yaml from tf import ...

  3. shell printf

    printf 可以格式化字符串,还可以制定字符串的宽度.左右对齐方式等.默认 printf 不会像 echo 自动添加换行符,我们可以手动添加 \n. 例子: $ echo "Hello, ...

  4. jenkins 插件,下载地址

    http://updates.jenkins-ci.org/download/plugins/ 通常我们需要下载的插件有如下几个:

  5. 解决在nginx+php环境下$_SERVER['PHP_SELF']获取不到值的问题

    Tp3.2. __APP__获取值不正确.$_SERVER['PHP_SELF']为空导致. 原来是php.ini的问题. sudo vim /usr/local/php/etc/php.ini 重启 ...

  6. python json格式转xml格式

    import xmltodict #json转xml函数 def jsontoxml(jsonstr): #xmltodict库的unparse()json转xml xmlstr = xmltodic ...

  7. Beta冲刺

    第一天 日期:2018/6/24 1 今日完成任务情况. 妥志福.牛瑞鑫: 完成任务:数据库设计完成数据导入成功 王胜海.马中林: 完成任务:代码规范检查 董润园.邓英蓉: 完成任务:平台基本功能黑盒 ...

  8. 《剑指offer》第三十二题(不分行从上往下打印二叉树)

    // 面试题32(一):不分行从上往下打印二叉树 // 题目:从上往下打印出二叉树的每个结点,同一层的结点按照从左到右的顺序打印. #include <iostream> #include ...

  9. URAL 2072 Kirill the Gardener 3

    URAL 2072 思路: dp+离散化 由于湿度的范围很大,所以将湿度离散化 可以证明,先到一种湿度的最左端或者最右端,然后结束于最右端或最左端最优,因为如果结束于中间,肯定有重复走的路 状态:dp ...

  10. C#匹配中文

    public static bool ContainsChinese(string text) { if (string.IsNullOrEmpty(text)) return false; stri ...