java的持久化技术选型

          在java开发过程中,JDBC, Ibtais ,Hibernate ,SpringJDBC 是使用比较多的几种持久化技术,下面说说各自的特点。


          JDBC,这个是java语言提供的规范,主要就是定义一些接口和通讯类,接口定义好之后,各个数据库厂商来提供具体的实现,比Oracle、MySql等,这些厂商都有自己的JDBC具体实现,当然,我们也可以自己实现一个,不过成本比较高。

优点:原生,效率高(用得好的情况下),使用起来也比较灵活 。

缺点:开发的代码比较罗嗦,可扩展性不够好。

 

         ibatis,现在已经改名为mybatis,这是一个半自动化的ORM框架,需要我们自己写SQL语句,主要特点是把SQL语句和Java的Field做映射,通过parameterMap和resultMap来做映射。

优点:比较灵活,可以自己写Sql,有高手DBA的话更是方便。

缺点:由于Sql语句和具体的数据库相对应,换了数据库的话,那么Sql语句需要重写过或则修改过。

 

          Hibernate,可以算是一个自动化的ORM框架,应为他自带HQL语句解释器,利用这个特性,开发人员写HQl语句就可以了,只要在不同的数据库中使用不同的驱动,这样就可以比较方便的在不同的DB上切换或者移植 。缺点:有些比较复杂的SQL语句在转换为HQL语句的时候还是比较有难度的。

如果没有hibernate开发高手,个人觉得还是使用mybatis比较好。

 

         SpringJDBC,spring核心思想是IOC和AOP,但是也实现了一套JDBC的东西,即SpringJDBC,使用的过程中也可以简化一些开发的代码量,并且Spring本身对事物提供强大的支持能力。

 

        总结: 项目在开发之前首先要搭框架,选择什么样的持久化方案要根据项目特点和自己团队情况来定。


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
技术选型文档:Spring Boot,Spring MVC,MyBatis 1. 背景 本文档旨在介绍在开发一个基于Java的Web应用程序时选择的技术选型。本文档将涵盖以下方面: - 项目概述 - 技术选型的考虑因素 - 技术选型的决策 - 技术选型的理由 2. 项目概述 本项目是一个基于Java的Web应用程序,旨在提供一种简单的方式来管理和存储数据。该应用程序的核心功能包括: - 用户注册、登录和管理 - 数据的添加、修改和删除 - 数据的查询和筛选 3. 技术选型的考虑因素 在选择技术时,我们考虑了以下因素: - 功能和性能要求 - 开发人员技能 - 社区支持和文档 - 平台兼容性 - 可扩展性和可维护性 4. 技术选型的决策 在考虑各种技术选项时,我们决定采用如下技术: - Spring Boot:Spring Boot是一个快速开发框架,它提供了一种简单的方式来构建应用程序并提供基本的Web开发功能。 - Spring MVC:Spring MVC是一个基于MVC模式的Web框架,它提供了一种简单的方式来处理Web请求和响应。 - MyBatisMyBatis是一个简单的Java持久化框架,它提供了一种简单的方式来将Java对象映射到关系型数据库表。 5. 技术选型的理由 我们选择Spring Boot的原因是它提供了一种简单和快速的方式来构建应用程序,并且它提供了许多基本的Web开发功能,如自动配置和快速启动。这些功能可以使我们更加专注于业务逻辑。 我们选择Spring MVC的原因是它提供了一种简单的方式来处理Web请求和响应。Spring MVC支持多种视图技术,如JSP、Freemarker等。此外,它还提供了许多其他有用的功能,如拦截器、AOP等。 我们选择MyBatis的原因是它提供了一种简单的方式来将Java对象映射到关系型数据库表。MyBatisSpring集成良好,并且它在处理大量数据时表现良好。此外,它还提供了许多其他有用的功能,如缓存和动态SQL。 综上所述,我们认为选择Spring Boot、Spring MVC和MyBatis是最好的选择,因为它们提供了一种简单和快速的方式来构建应用程序,并且它们在处理Web请求和响应以及数据持久化方面表现良好。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值