开篇:润墨网以专业的文秘视角,为您筛选了一篇基于J2EE的数据库访问技术的研究范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!
摘要: 数据库应用的一个最基本、最重要的方面就是对数据库的访问。随着数据库的不断发展,不同系统开发工具生产商,提供了不同的数据库访问方式,不同的数据库供应商提供了不同的数据库接口,致使现在存在着很多不同的数据库访问技术,本文对J2EE应用中的几种流行的数据库访问方式进行了总结和比较。
Abstract: The basic and most important aspect of database application is the database access. With the continuous development of database, different system development tools manufacturers provide different database access ways, different database vendors offer different database interfaces, now there are many different database access technologies. Based on J2EE application, in this paper, several popular ways of database access are summarized and compared.
关键词: 数据库访问技术;JDBC;SQL Mapping;O/R Mapping;Entity EJB
Key words: database access technology;JDBC;SQL Mapping;O/R Mapping;Entity EJB
中图分类号:TP392文献标识码:A文章编号:1006-4311(2010)19-0157-02
0引言
数据存储是各种应用程序的核心,J2EE平台提供了一系列的方法来保存和提取数据。每种方法的选择取决于各种不同的因素:该数据是被多应用程序共享还是被单应用程序独占;该数据是已经存在于数据库中供应用程序使用还是根据应用程序动态生成和存储;该数据保存的是应用程序状态还是可查询的信息集合;该数据被增删改的频率;数据的容量等等。没有哪一种数据存储方案适合于所有的应用程序。
本文依次探讨了J2EE平台下的多种数据对象持久化技术,即:JDBC;SQLMapping;EJB;O/RMapping。这些数据库访问技术有不同特点,应当根据实际需要和易用性原则来选择数据库访问技术。
1数据库访问技术概述
基于j2ee的数据库访问方式有很多种,每种都有其优缺点,适用于不同的应用程序。
1.1 JDBCJDBC是一种可用于执行SQL语句的标准API,提供了跨平台的数据库访问方法,是连接数据库和Java应用程序的纽带。通过JDBC中一系列类和接口,能方便地编写有关数据库方面的应用程序。通过直接的JDBC来访问与操作数据中,程序员经常陷入繁琐的表间关联关系操作中,而且容易出错。因为在考虑具体业务的同时还要细致的分析冗长的SQL语句。分散了注意力和专注点。在大型应用程序的DAO中书写这样的代码,维护量非常大, JDBC的底层操作较多,容易造成业务逻辑层和持久层的高度耦合。
1.2 SQLMapping把底层操作全部提取出来统一进行管理,本身并没有对概念上进行什么革新。但是这种统一处理在逻辑上其实属于分而治之,通过良好的使用可以体现出松耦合实现持久层的要求,也相对比较便于管理和修改。事实证明SQLMapping是替换JDBC的最好方式,开发起来跟直接使用JDBC差距不大,效率也还不错。
1.3 O/RMapping将面向对象模型映射到关系模型,使得我们在编程中直接使用对象模型,就能够将实体对象的数据自动存入关系数据库中。在使用ORM之后,我们将不需要再浪费太多的时间在JDBC和Sql语句上。ORM框架已经把数据库转变成了我们熟悉的对象,我们将只需要了解面向对象开发就可以实现数据库应用程序的开发。而且,如果数据库中表或者字段有所改变的话,则业务逻辑层的代码几乎不要改动,改动的可能仅仅只有实体类和数据表映射的地方,这在以前是难以想象的。
1.4 Entity EJBEJB的内聚性较强,如果想利用提供的企业服务的组件就需要使用大量的EJB API,使得开发者必须依赖于EJB容器进行开发,给调试、部署和维护等一系列的工作带来了过多约束。虽然EJB 3.0的推出,在许多方面做了改进,比如实体beans不再和会话beans及消息驱动的beans一样被当作企业bean组件,但是更多的开发者还是钟爱于POJO(纯Java)的设计方式。
1.5 JAXB数据持久技术Java Architecture for XML Binding(JAXB)是一个业界的标准,是一项可以根据XML Schema产生Java类的技术。该过程中,JAXB也提供了将XML实例文档反向生成Java对象树的方法,并能将Java对象树的内容重新写到XML实例文档。从另一方面来讲,JAXB提供了快速而简便的方法将XML模式绑定到Java表示,从而使得Java开发者在Java应用程序中能方便地结合XML数据和处理函数。
2数据库访问方式中当前流行框架介绍。
2.1 Jdbc TemplateJdbc Template是在JDBC核心包中最重要的类。它简化了JDBC的使用,因为它处理了资源的建立和释放。程序员只管写执行数据库操作获得结果集这一核心业务操作,其余的操作都由JDBC模板自动完成,减少了程序员的代码量。比起我们直接写JDBC操作,需要先获取Connection,然后是PreparedStatement,再到Result,使用JDBCTemplate写出来的代码看起来更加简洁,开发效率也比较快。
2.2 HibernateHibernate是当今最为流行的框架技术之一,可提供强大的对象-关系持久化和查询服务。Hibernate按照面向对象的原理开发持久化类,实现对象之间的关联、继承、多态、组合、集合等。
Hibernate框架技术是为企业应用提供各种数据库服务的中间件,通过使用Hibernate,企业应用与数据库联系,对数据进行操作。Hibernate通过properties文件及XML映射文件将透明持久化类POJO映射到数据库表中的相应行,这样在企业级应用开发过程中,不要使用JDBC和SQL连接和操作数据库,可以通过持久化对象类直接访问数据库,可以使用面向对象思想来操作数据库,简单高效。
3结束语
综上所述,我们可以得出结论,目前所有流行的持久层实现方式都有其优点和缺点。对商业化的企业级应用而言,一个技术坚持到底的路是走不通的。对不同的应用系统应采用不对的数据库访问技术。比如:对于简单的数据库应用程序,JDBC自然是首选;O/RMapping是以对象为中心的应用程序的恰当之选,O/RMapping具有复杂的对象管理和事务状态管理,并且在模式或者数据存储技术变化时具有高度的可移植性;JAXB数据持久性技术专注于XML模式与Java类的对应,以XML文件为中心的应用程序可以使用该技术。在实际应用中要采用务实的方式进行技术选择,而不要迷信哪一种技术。
参考文献:
[1]朱利华. Java Web中数据库访问技术的研究[J].常州信息职业技术学院学报,2009,(10).
[2]黄义平.基于Hibernate的关联映射研究[J].教育技术导刊,2009,(6).
[3]马凤山.轻量级J2EE框架电子商务应用研究[J].计算机与现代化,2007,(11).
[4]阮飞.J2EE数据持久层技术及其比较[J].微机发展,2005,(10).
[5]王剑.基于Java的数据库访问技术研究[J].科技资讯,2009,(4).
[6]曹大有.基于MyEclipse的Hibernate持久层框架的开发过程[J].计算机系统应用,2007,(12).