JDBC, Ibtais ,Hibernate ,SpringJDBC 是我们平时大家开发的过程中使用的比较多的几种持久化技术,具体在开发的过程中该怎么选择呢?
先来说说各自的特点,首先是JDBC,这个是Java语言提供的规范,主要就是定义一些接口和通讯类,接口定义好之后,各个数据库厂商来提供具体的实现,比如Oracle,Mysql等,这些厂商都有自己的JDBC具体实现,当然,我们也可以自己实现一个,不过成本比较高。对于JDBC ,个人认为主要的特点是原生,效率高(用得好的情况下),使用起来也比较灵活 ,缺点呢也很明显,开发起来代码比较罗嗦,可扩展性不够好。
然后是ibatis,现在已经改名为mybatis,这是一个半自动化的ORM框架,需要我们自己写SQL语句,主要特点是把SQL语句和Java的Field做映射,通过parameterMap和resultMap来做映射,所以,ibatis使用起来也是比较灵活的,可以自己写Sql,并且如果你家公司有高手DBA,交给他来优化或者写SQl也是很不错的选择,缺点呢,由于Sql语句和具体的数据库相对应,换了数据库的话,那么Sql语句需要重写过或则修改过。
和ibatis对比的比较多的就是hibernate了,这可以算是一个自动化的ORM框架,应为他自带HQL语句解释器,利用这个特性,开发人员可以认真写HQl语句就可以了,只要在不同的数据库中使用不同的驱动,这样就可以比较方便的在不同的DB上切换或者移植 ,但是有些比较复杂的SQL语句在转换为HQL语句的时候还是比较有难度的,如果没有hibernate开发高手,个人觉得还是使用ibatis比较好
spring 的核心思想是IOC和AOP,但是为了和其他框架竞争,Spring自己也实现了一套JDBC的东西,使用的过程中也可以简化一些开发的代码量,并且Spring本身对事物提供强大的支持能力,这是我觉得他比较有特色的地方。
所以,一般项目在开发之前首先要搭框架,选择什么样的持久化方案要根据自己团队的情况来定,而不是别人说什么好就用什么。
相关推荐
基于Java 通用数据访问组件,基于mybatis、spring jdbc、hibernate
Uncode-DAL是 Java 通用数据访问组件,基于mybatis、spring jdbc、hibernate等ORM框架开发,同时支持基于多数据源的读写分离、主备切换、故障转移,自动恢复、负载均衡、缓存等。可以大大提高开发速度
spring+springMVC+mybatis+struts2+jdbc+hibernate 全面集成 此框架本人花费2天时间完成 工作中请勿配置如此多元化框架 框架的意义是为了让代码风格统一 此框架是为了学习 作为参考 jdbc.properties为数据库链接参数...
本人手打的项目 里面包含spring整合当下流行框架的例子和整理好的jar 包含的例子:Spring+SpringMVC+Hibernate,Spring+SpringMVC+Mybatis spring+jdbc
jdbc、hibernate、mongo等ORM的通用数据访问层,支持基于datasource的读写分离、主备自动切换和故障转移,支持简单的负载均衡。 [TOC] 功能概述 基于mybatis、spring jdbc、hibernate等各大orm框架实现通用dal层功能...
mybatis实战教程mybatis in action之五与spring3集成附源码 mybatis实战教程mybatis in action之六与Spring MVC 的集成 mybatis实战教程mybatis in action之七实现mybatis分页源码下载 mybatis实战教程mybatis in ...
系统后端基于SpringMVC+Spring+Hibernate框架,前端页面采用JQuery+Bootstrap等主流技术; 流程引擎基于Snaker工作流;表单设计器基于雷劈网WEB表单设计器。 系统主要功能有: >1.系统管理 >>系统管理包含有:基础...
压缩包含了c3p0 , gson ,hibernate-validator ,jackson, jdbc ,jstl, mybatis-3.4.5 , spring4 的所有jar包
整合Druid用于数据库连接,并使用Druid对业务层监控spring jdbc 整合EhCache,对Mybatis的二级缓存进行管理和对spring进行缓存管理 整合FastJson对指定http类型的数据进行转换 整合hibernate.validator校验器对...
MiniDao 是一款轻量级JAVA持久层框架,基于 SpringJdbc + freemarker 实现,具备Mybatis一样的SQL分离和逻辑标签能力。Minidao产生的初衷是为了解决Hibernate项目,在复杂SQL具备Mybatis一样的灵活能力,同时支持...
Maven框架项目该项目不再更新维护,请移步该项目基于maven3.0构建的,项目中融合了Struts1 , Struts2 , Spring , SpringMVC , Hibernate , Ibatis , MyBatis , Spring Data JPA , Spring JDBC , Spring DWR...
所以为了解决这个痛病,Jeecg针对springjdbc + freemarker做封装,出了这么一个轻量级永久层,可以让Hiberate拥有mybatis一样SQL灵活能力,同时支持事务统一,SQL标签能力。 MiniDao简介及特征 MiniDao是一种轻量级...
平时不太喜欢使用hibernate和mybatis,主要是使用spring jdbc,写这个东西的出发点主要是平时使用spring jdbc觉 得比较麻烦,重复性的代码偏多,一方面通过自动mapper降低返回结果处理工作量,另一方面参考...
spring-jdbc-3.2.0.RELEASE.jar spring-orm-3.2.0.RELEASE.jar spring-tx-3.2.0.RELEASE.jar spring-web-3.2.0.RELEASE.jar spring-webmvc-3.2.0.RELEASE.jar standard.jar validation-api-1.0.0.GA.jar
orm 整合mybatis和hibernate持久化框架 ...目前仅扩展了mybatis和hibernate,按照这种方式可以扩展其他orm框架,如springJdbc等 test中有很详尽的使用范例可供参考 mybatis的核心代码通过tk.mybatis.mapper实现
没有用到hibernate,使用了spring里的jdbcTemplate,spring专门支持JDBC的工具类 项目比较简单吧
达内 java 全套视频包括java spring mybatis jdbc struts hibernate等
Spring的jdbc与Hibernate,Mybatis相比较,功能不是特别强大,但是在小型项目中,也到还是比较灵活简单。 首先可以看看一下传统的jdbc是如何操作的呢 传统JDBC 首先呢先要创建一个bean实例,例如Student.java
公司框架是SSH,hibernate用的越来越少,做了几年后,也懒得用了,springjdbc玩到现在,maven,mybatis没用到一直都没去接触,感慨现在技术真是发展越来越快,有点落伍了,最近刚好私下接了个小项目,心想何不用maven...
mybatis-超详细文档-文档(例子驱动文档,保存sql,xml,java),包含jdbc的不足,mybatis基本操作,关系影射,性能优先,与hibernate的比较,与spring的结果,反向工作