很久以前,你可能习惯了connection.open,command.execute("select...")这样的代码,写啊写啊,你开始不停地copy/paste,因为数据库的操作太雷同了,还好,粘粘贴贴倒也凑合,然后有一天客户说他们要用oracle,于是你开始抱着本oracle开发指南狂啃pl/sql,你开始试验调用oracle的存储过程该怎么写,参数是用@还是?或者是:,取个blob游标又要咋写,你纳闷为啥这不同的数据库sql区别咋这么大呢?不都是号称符合啥sql几几的标准吗?你的头开始痛了,你开始写不同的DAL,代码与十指齐飞,脑袋昏昏天黑黑——又加班了!!这次第,怎一个愁字了得!!
然后你觉得再也不能这样过了,再也不能这样活了,你开始用DAAB,后来升级到Enterprise Library,恩,不错,代码好象少了,后来再加个Code Smith,恩,不错,自动生成代码,自己敲键盘少了,虽然你还得在不同的数据库间挣扎,还得把取出来的数据一点一点地填到你的实体类里,但是目前看上去还不赖,可以忙里偷闲泡杯两块八一包的劣质茶叶咂吧咂吧你那被劣质显示器辐射的开裂的嘴唇了。但是你觉得还不够,你在想,是否有Code Neo,或者干脆来个Code Matrix,整个DAL都不用自己写了,自动把数据库的数据填到自己的实体类里,然后对这个对象进行操作就行了,剩下的CRUD全部有这个Code Matrix来完成,达不达??
神啊,救救我吧……

“当当当当……“,O/R Mapping来到了大家的眼前。
O/R Mapping全称是object/rational mapping,即对象/关系数据库映射,意思是对象模型和关系模型的映射,也就是把我们常见的以对象模型表示的对象映射到关系模型上去,当然,这个关系模型我们常常指的是目前大部分主流的关系数据库,如oracle/sqlserver等等。基于.Net来说,o/r mapping就是将我们的.Net类映射到数据库中指定的表上,由O/R Mapping框架帮我们实现object<-->table之间的交互,我们完全不再需要写sql语句(当然不是绝对的),也不再关心背后用的是那种数据库,你只需要定义好对象和数据库该如何交互,剩下的,全部由O/R Mapping的框架来解决,你只需要如下代码即可:
Customer cust = framework.Get(...);
cust.Name = "newname";
framework.Save(cust);
或者:
framework.Delete(cust);
ok!!手起键盘落,整个世界清净了!!

是不是很动心啊??
ok,正式介绍今天的主角——Hibernate!!
Hibernate是一个目前应用的最广泛的开放源代码的对象关系映射框架,它对Java的JDBC(类似于ADO.Net)进行了非常轻量级的对象封装,使得程序员可以随心所欲的使用对象编程思维来操纵数据库,目前在国内Java开发界已经颇为流行,Hibernate+Spring往往是很多Java公司招聘的要求。而NHibernate,顾名思义,如同NUnit,NAnt一样,是基于.Net的Hibernate实现,但是目前介绍NHibernate的资料非常少,缺少一个系统完整的教程来全面的展现和深入NHibernate,而且现在NHibernate的文档又残缺不全,少的可怜,很多NHibernate的学习者往往都是通过Hibernate的文档来学习,但是毕竟不是所有的.Net开发者都熟悉Java,也不是所有的人都有精力有时间去学习Java,所以,我准备开始一个Step by Step的NHibernate教程,以便有兴趣的朋友能够快速的熟悉NHibernate,能够更快地体验NHibernate的开发乐趣。

本文链接:http://www.cnblogs.com/abluedog/archive/2006/04/15/375676.html

转载于:https://www.cnblogs.com/gaoshuai/archive/2010/06/10/1755220.html

第一章:NHibernate的简介相关推荐

  1. 第一章 Web MVC简介 —— 跟开涛学SpringMVC

    第一章 Web MVC简介 -- 跟开涛学SpringMVC Web MVC简介 1.1.Web开发中的请求-响应模型: 在Web世界里,具体步骤如下: 1.  Web浏览器(如IE)发起请求,如访问 ...

  2. 《深入理解 Spring Cloud 与微服务构建》第一章 微服务简介

    <深入理解 Spring Cloud 与微服务构建>第一章 微服务简介 文章目录 <深入理解 Spring Cloud 与微服务构建>第一章 微服务简介 一.单体架构及其存在的 ...

  3. 第一章 Web MVC简介 —— 跟开涛学SpringMVC 博客分类: 跟开涛学SpringMVC webmvcjavaeespring跟开涛学SpringMVC Web MVC简介 1.1、We

    第一章 Web MVC简介 -- 跟开涛学SpringMVC 博客分类: 跟开涛学SpringMVC webmvcjavaeespring跟开涛学SpringMVC Web MVC简介 1.1.Web ...

  4. 第一章 老虎Linux简介

    第一章 老虎Linux简介 第一章 老虎Linux简介1.简介2.讲师3.面向人群4.课程风格5.听课小建议6.联系我们吧 1.简介 老虎Linux主要讲解Linux及架构等一些相关知识,让大家从零开 ...

  5. 第一章 Caché JSON 简介

    文章目录 第一章 Caché JSON 简介 简介 Caché JSON功能 在运行时创建和操作动态实体 使用字符串JSON构造函数创建动态实体 使用Caché动态表达式定义值 在动态实体和规范JSO ...

  6. iPhone开发秘籍(一)--第一章 iPhone SDK简介

    第一章 iPhone SDK简介 借助Xcode,你可以在项目中利用iPhone的多触摸(multitouch)界面和强大的机载(onboard)特性. 1.1 苹果公司的iPhone SDK 参与苹 ...

  7. 第一章 InterSystems SQL简介

    文章目录 第一章 InterSystems SQL简介 架构 特点 符合SQL-92 拓展 互操作性 JDBC ODBC 嵌入式SQL 动态SQL 限制 第一章 InterSystems SQL简介 ...

  8. 第一章:OpenCV简介

    第一章:OpenCV简介 本章节将介绍如何在不同系统平台安装配置OpenCV. 更多内容请关注我的GitHub库:TonyStark1997,如果喜欢,star并follow我! OpenCV-Pyt ...

  9. 第一章 Redis基础(简介+下载和安装+基本操作)----黑马

    第一章 Redis基础(简介+下载和安装+基本操作) ----黑马 文章目录 第一章 Redis基础(简介+下载和安装+基本操作) ----黑马 学习目标: 1. Redis 简介 1.1 NoSQL ...

  10. 随便玩玩之PostgreSQL(第一章)PostgreSQL简介

    随便玩玩之PostgreSQL 未经授权不得转载 第1章PostgreSQL简介 1.1什么是PostgreSQL Postgresql是数据库(软件). The world's most advan ...

最新文章

  1. “chaos”的算法--之链表面试题
  2. mysql8.0 zip安装教程
  3. JS 新浪下拉菜单+jQuery
  4. 使用Tensorflow操作MNIST数据
  5. HTML标记语法总结
  6. 我的第一个python 代码
  7. 【大话设计模式】设计模式系统学习大合集
  8. 前端面试每日 3+1(每日三问)
  9. linux(fedora) 下dvwa 建筑环境
  10. 针对Fluent-Bit采集容器日志的补充
  11. java impliments,dubbo使用GenericService泛化调用
  12. Android 系统(161)---N/O版本上图库打开一张图片,图片从模糊到清晰的时间太长
  13. 算法、数据结构和设计模式
  14. JAVA 设计模式 适配器模式
  15. Centos7.9源码编译安装Apache
  16. Hive之窗口函数(一文搞懂)
  17. 双管道(CreatePipe)与本地cmd.exe进程通信(附源代码及编译好的程序,免费下载)
  18. Python学习之路(四)——Python核心编程3(面向对象、模块_包_异常)
  19. 2-SAT问题,一个神奇的东西
  20. 用DiskGenius彻底删除文件能不能确保无法恢复

热门文章

  1. leetcode - 22. 括号生成
  2. 多元正态分布的后验采样(包含程序)
  3. Python 上下文管理器与with语句
  4. OpenCV--Mat类相关操作
  5. Matlab将数字数组转换为字符数组(用于标明点号)
  6. 理解Spring Boot
  7. 完成简单的四则运算(包含小括号)(栈)
  8. P1807 最长路 (SPFA写法)
  9. java怎样生成32位全是整形的主键_用java生成32位全球唯一的id编号
  10. java中math方法语句,下列有关Java中标准类Math的random()方法的说法中,正确的是。 - 上学吧学历考试...