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

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

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

hibernate能减少95%倒是真的,但mybatis(ibatis)比jdbc少做的一步工作无非就是将 resutlset 转换成java对象的过程。但是却要做更多的配置!
减少5%的工作量还差不多!
分享到:
评论
36 楼 yuaihui 2014-06-20  
35 楼 theoffspring 2013-01-09  
夜神月 写道
mybatis减少90%的量是夸张的,但mybatis相对hibernate来说,我更看好mybatis,灵活度强。可操作性强。

那是你不会用hibernate,hibernate也照样可以写sql来生成对象,用mybatis做增删改太tm费事了,加个列就要改一堆东西,重写一遍ut,麻烦死了。顶多写写查询还行。我个人觉得mybatis最大的亮点在于动态sql,这个非常强悍。写好一个可以实现N种查询。hibernate对于动态sql用起来好像比较麻烦。
34 楼 hama_zgd 2013-01-09  
mybatis 加上代码生成器  不要读文章断章取义, 你自己断章取义就罢了,还要传输给这么多人
33 楼 siashuayongsheng 2012-09-28  
[img] [/img]
32 楼 meiyoudao 2011-06-10  
楼主你上首页了...........    你咋这么抗拒呢
31 楼 laolinshi 2011-06-09  
supben 写道
denger 写道
楼主去看看最新的 mybatis 之后再说吧,由其是与 Spring 进行集成+注解方式。需要做的就是 写一个 SQL 就完了~ 这还不简单?
http://denger.iteye.com/blog/1060588



我当然知道,但是最基本的增删改查都要写sql对不对。
而且关联查询的话,又要写一条sql。

我公司一般增删改都用hibernate的,遇到复杂查询的话就用ibatis.
30 楼 夜神月 2011-06-09  
mybatis减少90%的量是夸张的,但mybatis相对hibernate来说,我更看好mybatis,灵活度强。可操作性强。
29 楼 jansel 2011-06-09  
95%肯定是夸张了 
28 楼 GavinHwa 2011-06-09  
supben 写道
GavinHwa 写道
myBatis3.x可以直接使用mapper来实现吧,xml文件都能省了,如果有需要自己再写个代码生成工具,直接生成myBatis可用的DAO和Mapper也未尝不可啊!


兄台指的是注解么?



是的,目前我是基于注解方式做的,由于刚接触myBatis,不过用工具生成基于xml的应该也可以,只是目前我还没尝试过...
27 楼 GavinHwa 2011-06-09  
<div class="quote_title">ping2011 写道</div>
<div class="quote_div">
<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>
</div>
<p> </p>
<p>灰常感谢.由于我也是最近才开始学习使用java写程序,近两周才开始使用myBatis,刚好端午节前有个练手项目,看了myBatis提供的实例和一些源代码,觉得使用基于注解的方式来写代码还不错,于是就上手来练习项目了,做的过程中发现DAO层和Mapper层有很多代码手敲太浪费了,于是就用python写了个小的代码生成工具,直接生成DAO层和Mapper层,当然生成的Mapper目前还需要调整,比如根据非主键条件查询的就需要重新的敲代码,不过常用的方法都生成了...</p>
<p> </p>
<p>不过要是早知道你说的这个在线生成器我也就不用费事自己写了...</p>
<p>再次感谢...</p>
26 楼 New.Mars 2011-06-08  
、从技术跟性能方面要权衡考虑。
25 楼 squll369 2011-06-08  
我刚刚用了mybatis,全部用的mapper,只要写一个mapper接口,实现就是xml里的sql,我感觉很方便,减少了很多代码量,还是很方便的.
24 楼 theoffspring 2011-06-08  
你看错了吧,哪有95那么夸张,mybatis支持annotation,或许这个减少配置。我认识工作量和代码量是两个意思,你直接写jdbc,会降低工作效率,所以用的时间也多,用mybatis的配置则简洁得多,用的时间会成倍地减少。
23 楼 konker 2011-06-08  
我感觉的确可以减少95%的工作量。真的。主要是,现在可以用Annotation.而且。你写DAO的时候甚至可以只写接口,不用写实现类。
22 楼 lnaigg 2011-06-08  
月经贴怎么总是那么多?

mybatis减少95%是夸张了点,减少70-80%是应该有的。

值得一提是mybatis(ibatis3)相比ibatis2又强悍不少,annotation和接口反射的新特性,的确能减少DAO层工作量减少90%。
21 楼 lookdd1 2011-06-08  
最讨厌动不动就来句 存在即合理   。。。。合理你妹。。
20 楼 yn5411 2011-06-08  
spring jdbctemplate+xml+velocity
19 楼 supben 2011-06-08  
白糖_ 写道
hibernate的效率让人堪忧,大量的反射封装加壳再加壳,已明显影响性能了。
但hibernate的hql是很好的东西,如果大家统一用hql编码,基本可实现更换数据库0代码修改。
mybatis的出发点不同吧,作者为了屏蔽jdbc大量的try..catch,开关连接,做了一个非常薄的jdbc封装,把sql写在统一的xml文件可以提高sql的复用和维护。
不过mybatis不太满意的是不直接支持第三方数据库连接池(不过可以自己写DataSourceFactory实现)。


开关连接不是连接池在做的事情么。jdbc不也可以用连接池
18 楼 supben 2011-06-08  
denger 写道
楼主去看看最新的 mybatis 之后再说吧,由其是与 Spring 进行集成+注解方式。需要做的就是 写一个 SQL 就完了~ 这还不简单?
http://denger.iteye.com/blog/1060588



我当然知道,但是最基本的增删改查都要写sql对不对。
而且关联查询的话,又要写一条sql。
17 楼 supben 2011-06-08  
GavinHwa 写道
myBatis3.x可以直接使用mapper来实现吧,xml文件都能省了,如果有需要自己再写个代码生成工具,直接生成myBatis可用的DAO和Mapper也未尝不可啊!


兄台指的是注解么?

相关推荐

    第一个mybatis程序

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

    第一个Mybatis程序

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

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

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

    mybatis demo mybatis 实例

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

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

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

    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,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、...

    mybatis中文离线文档

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

    mybatis简单使用demo

    mybatis简单使用mybatis简单使用demomybatis简单使用demomybatis简单使用demomybatis简单使用demomybatis简单使用demomybatis简单使用demomybatis简单使用demomybatis简单使用demomybatis简单使用demomybatis简单...

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

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

Global site tag (gtag.js) - Google Analytics