`
supben
  • 浏览: 334888 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

每一个用mybatis的男纸,你伤不起

    博客分类:
  • SSH
阅读更多
mybatis 官方文档上说 mybatis 减少了jdbc 95%的工作量。有这么夸张么?

hibernate能减少95%倒是真的,但mybatis(ibatis)比jdbc少做的一步工作无非就是将 resutlset 转换成java对象的过程。但是却要做更多的配置!
减少5%的工作量还差不多!
分享到:
评论
16 楼 Leon.Wood 2011-06-08  
一句话,偏见源于无知
15 楼 ping2011 2011-06-08  
<div class="quote_title">GavinHwa 写道</div>
<div class="quote_div">myBatis3.x可以直接使用mapper来实现吧,xml文件都能省了,如果有需要自己再写个代码生成工具,直接生成myBatis可用的DAO和Mapper也未尝不可啊!</div>
<p><br><br>试试这里有个<a title="在线生成器" href="http://www.codegene.net">在线生成器</a>。</p>
<p> </p>
14 楼 george_space 2011-06-08  
MyBatis相对于JDBC来说没有减少工作量,减少代码行数也不是MyBatis的目标,MyBatis的作用是:
在性能上与原生JDBC接近的情况下,实现SQL语句和程序逻辑的彻底分离;
实现SQL查询出的ResultMap和实体类的映射;
实现SQL语句的非法字符(如SQL注入攻击)的过滤;
13 楼 sundawn 2011-06-08  
我们项目页面类似报表,往往需要连接10+个表,20左右的查询条件,基本是写好SQL语句COPY到XML,感觉用起来比较灵活
12 楼 Java_大猫 2011-06-08  
口水战。各有千秋而已。没必要去争论。无论是XML还是注解。看具体情况。ibatis我觉得只是对JDBC的封装,减少了重复率。至于实际的工作量,这个看具体项目情况
11 楼 KimShen 2011-06-08  
白糖_ 写道
hibernate的效率让人堪忧,大量的反射封装加壳再加壳,已明显影响性能了。
但hibernate的hql是很好的东西,如果大家统一用hql编码,基本可实现更换数据库0代码修改。
mybatis的出发点不同吧,作者为了屏蔽jdbc大量的try..catch,开关连接,做了一个非常薄的jdbc封装,把sql写在统一的xml文件可以提高sql的复用和维护。
不过mybatis不太满意的是不直接支持第三方数据库连接池(不过可以自己写DataSourceFactory实现)。


说效率让人担忧就拿出测试报告,反射是没错,高版本JDK反射都做了优化,而且Hibernate都把Pojo class缓存了,反射影响性能何来这一说?
ibatis也没什么不对,存在即合理
10 楼 denger 2011-06-08  
楼主去看看最新的 mybatis 之后再说吧,由其是与 Spring 进行集成+注解方式。需要做的就是 写一个 SQL 就完了~ 这还不简单?
http://denger.iteye.com/blog/1060588
9 楼 白糖_ 2011-06-08  
hibernate的效率让人堪忧,大量的反射封装加壳再加壳,已明显影响性能了。
但hibernate的hql是很好的东西,如果大家统一用hql编码,基本可实现更换数据库0代码修改。
mybatis的出发点不同吧,作者为了屏蔽jdbc大量的try..catch,开关连接,做了一个非常薄的jdbc封装,把sql写在统一的xml文件可以提高sql的复用和维护。
不过mybatis不太满意的是不直接支持第三方数据库连接池(不过可以自己写DataSourceFactory实现)。
8 楼 walnut.lei 2011-06-08  
找到适合自己的就好,不用管别人怎么说
7 楼 programming 2011-06-08  
口水战,己经没有必要再来争论这个工作量的问题了。
6 楼 hustlxjaw 2011-06-08  
hibernate也不能减少95%
5 楼 yhonglieu 2011-06-08  
各有各的好处。Hibernate不是万能。
4 楼 nirvana1988 2011-06-08  
如果单纯的用jdbc去写代码的话,重复性代码会让人吐血;但是如果你用apache提供的Dbutil 或者 Spring的TemplateJDBC的话,重复代码量会减少不少, 这些代码应该比Mybatis配置的方式产生的代码要少些。
3 楼 caoyangx 2011-06-08  
如果Mybatis只是把SQL语句XML了而已。
要说这工作量吗,如果做一个代码统计,同样功能的简单需求,用Mybatis要比JDBC多很多。
2 楼 GavinHwa 2011-06-07  
myBatis3.x可以直接使用mapper来实现吧,xml文件都能省了,如果有需要自己再写个代码生成工具,直接生成myBatis可用的DAO和Mapper也未尝不可啊!
1 楼 supben 2011-06-07  
怎么才能上主页呢?

相关推荐

    第一个mybatis程序

    在本示例中,我们探讨的是如何创建并运行一个基本的MyBatis程序,这将帮助你深入理解MyBatis的工作原理和核心概念。 1. **配置XML配置文件** MyBatis的核心配置文件(通常命名为`mybatis-config.xml`)定义了数据...

    第一个mybatis程序 mybatis入门

    【标题】"第一个mybatis程序 mybatis入门" 涉及到的是MyBatis框架的基础使用,这是一个轻量级的Java持久层框架,它简化了与数据库交互的过程,提供了强大的映射功能。以下是对MyBatis入门的详细解析: 1. **MyBatis...

    第一个Mybatis程序

    在IT领域,Mybatis是一个广泛使用的持久层框架,它能够将SQL语句与Java代码解耦,提供灵活的数据库操作。本教程将带你一步步走进Mybatis的世界,通过“第一个Mybatis程序”的实例学习其基本概念和操作流程。 一、...

    Mybatis-Flex 一个优雅的 Mybatis 增强框架

    Mybatis 是一个广泛使用的轻量级 Java 持久层框架,它允许开发者通过 SQL 映射文件将 SQL 语句与 Java 代码解耦,提供更直接的数据访问方式。而 Mybatis-Flex 则在此基础上添加了更多的实用特性,以提升开发效率和...

    mybatis学习-入门(1)-单独使用mybatis

    MyBatis是一个优秀的Java持久层框架,它支持定制化SQL、存储过程以及高级映射。在本教程中,我们将深入探讨MyBatis的基础知识,帮助初学者快速入门。本部分主要关注如何单独使用MyBatis,不涉及与其他框架的集成。 ...

    mybatis demo mybatis 实例

    标题“mybatis demo mybatis 实例”指的是一个MyBatis的学习示例项目,这个项目可能是为了演示如何在实际开发中运用MyBatis框架。通过这个示例,开发者可以了解MyBatis的基本用法,包括配置文件的编写、Mapper接口的...

    mybatis的中文api文档

    每个基于MyBatis的应用都是以一个SqlSessionFactory的实例为中心的。SqlSessionFactory的实例可以通过SqlSessionFactoryBuilder获得。而SqlSessionFactoryBuilder则可以从XML配置文件或一个预先定制的Configuration...

    mybatis与spring融合时使用的两个包

    MyBatis是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以使用简单的XML或注解进行配置和原始映射,将接口和Java的POJOs...

    MyBatis基本使用总结

    在运行时,MyBatis会为每个Mapper接口生成一个实现了该接口的代理类,当调用接口方法时,实际上执行的是代理类中的方法,这个方法会解析对应的SQL并执行。 四、增删改查操作 增删改查(CRUD)是数据库操作的基础,...

    使用MyBatis Generator自动生成MyBatis代码.docx

    MyBatis Generator 是一个流行的开源工具,用于根据数据库表结构自动生成 MyBatis 的映射文件、实体类、DAO 层和 Service 层等代码。下面是使用 MyBatis Generator 自动生成 MyBatis 代码的详细步骤和知识点: 一、...

    MyBatis-Flex: 一个优雅的 MyBatis 增强框架

    MyBatis-Flex: 一个优雅的 MyBatis 增强框架。很轻量,MyBatis-Flex 整个框架只依赖 MyBatis,再无其他任何第三方依赖。只增强,MyBatis-Flex 支持 CRUD、分页查询、多表查询、批量操作,但不丢失 MyBatis 原有的...

    mybatis_plugin 2.92

    例如,你可以创建一个性能监控插件,记录每个 SQL 查询的执行时间,以便分析和优化数据库性能。 在使用 MyBatis 插件时,需要在 MyBatis 的配置文件中声明插件,并指定需要拦截的方法。以下是一个简单的插件配置...

    mybatis 3.2.6

    标签"mybatis"进一步确认了该压缩包与MyBatis框架有关,这可能是一个开发人员为了方便下载和使用MyBatis而创建的。 压缩包内的文件名称"mybatis-3.2.6.zip"表示这个文件是MyBatis 3.2.6的压缩文件。要使用这个文件...

    MybatisGenerate_代码生成_tkMybatis_mybatisgenerate_mybatis_

    MybatisGenerate是一个强大的工具,主要用于自动化生成Mybatis相关的代码,以提高开发效率并减少手动编写重复性工作的负担。这个工具是基于tk.mybatis框架的,它整合了Mybatis的优秀特性,使得开发者能够更加便捷地...

    一个简单的MyBatis实例

    MyBatis是一个轻量级的Java持久层框架,它提供了SQL映射框架,使得开发者能够更灵活地控制SQL语句的编写与执行。在本实例中,我们将探讨如何基于Eclipse开发环境搭建一个简单的MyBatis应用。 1. **MyBatis简介** ...

    mybatis-plus-join是mybatis plus的一个多表插件

    mybatis-plus-join是mybatis plus的一个多表插件,只要会用mp就会用这个插件,仅仅依赖了lombok,而且是扩展mp的构造器并非更改原本的构造器,不会对原有项目产生一点点影响 mybatis-plus的多表插件完全按照mybats ...

    mybatis,mybatis+mysql

    2. **Mapper接口与XML映射文件**:在MyBatis中,你可以定义Mapper接口,每个方法对应一个SQL语句。这些SQL语句通常在mapper.xml文件中编写,并通过namespace、id与接口方法关联。例如,你可以创建一个UserMapper接口...

    mybatis-platform_mybatis_

    【描述】: "mybatis-platform是一个使用MyBatis和Druid进行SQL映射的项目。这个项目旨在提供一个基于MyBatis框架的平台,集成Druid数据源,以实现更高效、更灵活的数据库操作。通过MyBatis,我们可以将SQL语句与Java...

    mybatis-3-mybatis-3.2.6

    MyBatis是一个优秀的Java持久层框架,它支持定制化SQL、存储过程以及高级映射。在深入探讨MyBatis 3.2.6版本的源码之前,我们首先需要了解MyBatis的基本概念和功能。 MyBatis的核心部分主要包括SqlSessionFactory、...

    IDEA的MyBatis插件两个

    1. 易用的Mapper管理:MybatisX提供了一个直观的Mapper图形界面,开发者可以在这里查看和管理所有的Mapper接口和XML配置,方便查找和定位问题。 2. 实时日志查看:在开发过程中,可以通过插件直接查看MyBatis执行的...

Global site tag (gtag.js) - Google Analytics