`

使用Hibernate框架开发程序的一般思路

阅读更多
      Hibernate是ORM框架,他主要实现了实体和关系之间的映射(当然还有很多重要的功能),使我们的编程更加oo。Hibernate为了使程序员可以更加面向对象编程,把一些非对象的事物给屏蔽了,程序员可着重关注实体的操作,而不必花费太多的精力去关心其他(如:数据库关系)对程序良好实现产生影响的东西。

      在使用Hibernate进行编程的时候,我们有时可能会脱离不了以前的思想(脱离实体),现在仍然有一些人会先关心数据库的建立,如创建表、建立表与表的关系等。这样做不能很好地利用Hibernate;我们应该有一些比较正确的实现思路去编程我们的程序:

    一、在写程序时无论我们写的时什么程序,都要运行环境的支持,所以一般先配置它。既平常所看的Hibernate.cfg.xml(默认名)文件。它的配置一定程度上决定了我们在程序中要用都Hiberante提供的什么功能;

    二、创建实体。在Hibernate中实体是一个很重要的概念,因为我们在程序中所做的操作基本上都是针对实体的。操作实体也就是操作对象,就是面向对象的编程。这时还要清楚地处理好实体之间的关系,这是程序中非常重要的一环;

    三、建立实体映射。这里主要是利用配置文件把实体的属性、实体之间的关系映射到数据库的相应表里,需要熟悉映射关系;

    四、这时可以测试实体之间的关系和映射关系的对错,最好时写测试类,如果没问题就可以进行业务逻辑的编写;

    五、编写业务逻辑。程序中的所用功能都在业务逻辑上实现,所以它是最重要、最耗时、也是最难的一部分,业务逻辑实现的好坏直接影响都程序的成败;

    六、最后关心表现层---如果有必要的话;
    其次,在整个程序的开发中,我们应该始终贯穿着分层的思想。分层不仅使我们能够认清程序的结构、思路更清晰,还会关系到其他很重要的问题:如程序的移植性问题、程序的扩展性问题。在程序中层与层之间耦合度越小移植性就越好,也就越灵活;同时缓存也是一个很重要的东西,合理地使用缓存可以很好地提高程序的性能;
      既然Hibernate是为了使我们的编程更加面向对象,我们没理由不去好好地利用它,只要在程序中始终看到对象的概念,那就应当是一种正确的编程思维。
分享到:
评论

相关推荐

    Spring应用开发完全手册 源码

    主要内容包括Spring框架开发环境的搭建及使用Spring时必须掌握的基础知识,Spring的数据持久化、事务管理以及企业应用中的远程调用,JNDI命名服务,JMail发送电子邮件等企业级服务,小型网站或应用程序的开发思路、...

    ssh(structs,spring,hibernate)框架中的上传下载

     您可以使用Hibernate Middlegen、HIbernate Tools、Hibernate Syhchronizer等工具或手工的方式,编写Hibernate的领域对象和映射文件。其中对应T_FILE表的领域对象Tfile.java为:  代码 1 领域对象Tfile 1. ...

    struts2+hibernate+spring源码

    本程序用到的主要技术为: Struts2,Spring,Hibernate,DWR,JavaMail,以及少部分正则表达式。其实都是非常基础简单的应用,目的就是让大家看看这些框架是如何协同工作的。开发平台为:Winxp2+JDK1.5+Tomcat5.5+...

    halo-dal:java 分布式数据库访问框架,可以结合任何使用PreparedStatement操作的框架。在java jdbc api层实现 分表分库 路由解析的 框架 可以单独或者与用hibernate ibatis spring-jdbc 等框架结合使用,屏蔽api层使用差异,能实现 jdbc 单数据库事务,目的是为了方便的进行分表分库程序的开发

    谢谢大家的关注#halo-dal使用说明#####使用场景:数据库分布式访问#####使用语言:java#####使用条件:支持PreparedStatement处理的任何jdbc框架,最好配合spring管理数据库连接池.#####sql语句必须使用小写字符#####jdk...

    基于SSH2+Maven+EasyUI+MySQL技术实战开发易买网电子商务交易平台

    亮点一、Structs2.x+Spring3.x+Hibernate4.x+ JEasyui1.3.4+Maven3 各框架jar包等采用的均是目前为止最新的版本,讲解时使用的这些jar及框架的最新技术,如此组合在国内尚属首部、技术的前沿性可以保证让您的技术在...

    Java技术面试课程,通过参与这门课程,学习者将能够系统地学习和巩固Java技术知识,并在面试中展现自己的技术能力和优势

    Java类库和框架:学习常用的Java类库和框架,如JavaEE、Spring框架、Hibernate等,掌握它们的原理和使用方法。 数据库和SQL:了解数据库的基本概念和常用操作,熟悉SQL语言,能够与Java应用程序进行数据库交互。 ...

    研磨设计模式 PDF ZIP.001(三个压缩包)

    《研磨设计模式》在内容上深入、技术上实用、和实际开发结合程度很高,书中大部分的示例程序都是从实际项目中简化而来,因此很多例子都可以直接拿到实际项目中使用。如果你想要深入透彻地理解和掌握设计模式,并期望...

    研磨设计模式 PDF ZIP.002(三个压缩包)

    《研磨设计模式》在内容上深入、技术上实用、和实际开发结合程度很高,书中大部分的示例程序都是从实际项目中简化而来,因此很多例子都可以直接拿到实际项目中使用。如果你想要深入透彻地理解和掌握设计模式,并期望...

    研磨设计模式 PDF ZIP.003(三个压缩包)

    《研磨设计模式》在内容上深入、技术上实用、和实际开发结合程度很高,书中大部分的示例程序都是从实际项目中简化而来,因此很多例子都可以直接拿到实际项目中使用。如果你想要深入透彻地理解和掌握设计模式,并期望...

    JAVA上百实例源码以及开源项目源代码

     Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 3...

    JAVA上百实例源码以及开源项目

     Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 3...

    Spring Boot带前后端 渐进式开发企业级博客系统

    依照惯例,会先编写一个最简单的Hello World程序。从项目配置,应用的编写, 再到测试用例,最后运行项目。方面学员了解整个编码的流程。 第4章 开发环境的搭建 为了让实战过程更顺利,避免不要的问题,这里会先...

    基于JAVA的留言板管理系统的毕业设计.doc

    数据库连接采用Hibernate框架 6 4.编译工具采用MyEclipse 6 5.数据库采用SQL server2005 6 三、详细设计 7 1.数据库设计 7 1.1.数据库概念结构设计:E-R图 7 1.2.数据库快照及字段说明(数据库为SQL server2005) 8 ...

    毕业设计-基于JAVA的题库及试卷管理模块的设计与开发(源代码+论文)

    本文针对教育工作的具体需求,用struts + spring + hibernate搭建的框架为设计平台,以B/S(Browser/Server)模式开发与设计题库及试卷管理模块。本设计为Smart系统的一部分。主要设计和实现了学校考试的出卷方式与...

    java源码包---java 源码 大量 实例

     Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 3...

    网站设计方案(完整版).doc

    Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在 Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架 构中取代CMP,完成数据持久化的重任。...

    java源码包2

     Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 ...

    java源码包3

     Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 ...

    java源码包4

     Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 ...

Global site tag (gtag.js) - Google Analytics