每一个用mybatis的男性纸,你伤不起
每一个用mybatis的男纸,你伤不起
mybatis 官方文档上说 mybatis 减少了jdbc 95%的工作量。有这么夸张么?
hibernate能减少95%倒是真的,但mybatis(ibatis)比jdbc少做的一步工作无非就是将 resutlset 转换成java对象的过程。但是却要做更多的配置!
减少5%的工作量还差不多!
兄台指的是注解么?
我当然知道,但是最基本的增删改查都要写sql对不对。
而且关联查询的话,又要写一条sql。
开关连接不是连接池在做的事情么。jdbc不也可以用连接池
兄台指的是注解么?
是的,目前我是基于注解方式做的,由于刚接触myBatis,不过用工具生成基于xml的应该也可以,只是目前我还没尝试过...
我当然知道,但是最基本的增删改查都要写sql对不对。
而且关联查询的话,又要写一条sql。
我公司一般增删改都用hibernate的,遇到复杂查询的话就用ibatis.
mybatis 官方文档上说 mybatis 减少了jdbc 95%的工作量。有这么夸张么?
hibernate能减少95%倒是真的,但mybatis(ibatis)比jdbc少做的一步工作无非就是将 resutlset 转换成java对象的过程。但是却要做更多的配置!
减少5%的工作量还差不多!
14 楼
george_space
2011-06-08
MyBatis相对于JDBC来说没有减少工作量,减少代码行数也不是MyBatis的目标,MyBatis的作用是:
在性能上与原生JDBC接近的情况下,实现SQL语句和程序逻辑的彻底分离;
实现SQL查询出的ResultMap和实体类的映射;
实现SQL语句的非法字符(如SQL注入攻击)的过滤;
在性能上与原生JDBC接近的情况下,实现SQL语句和程序逻辑的彻底分离;
实现SQL查询出的ResultMap和实体类的映射;
实现SQL语句的非法字符(如SQL注入攻击)的过滤;
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>
<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>
16 楼
Leon.Wood
2011-06-08
一句话,偏见源于无知
17 楼
supben
2011-06-08
GavinHwa 写道
myBatis3.x可以直接使用mapper来实现吧,xml文件都能省了,如果有需要自己再写个代码生成工具,直接生成myBatis可用的DAO和Mapper也未尝不可啊!
兄台指的是注解么?
18 楼
supben
2011-06-08
denger 写道
楼主去看看最新的 mybatis 之后再说吧,由其是与 Spring 进行集成+注解方式。需要做的就是 写一个 SQL 就完了~ 这还不简单?
http://denger.iteye.com/blog/1060588
http://denger.iteye.com/blog/1060588
我当然知道,但是最基本的增删改查都要写sql对不对。
而且关联查询的话,又要写一条sql。
19 楼
supben
2011-06-08
白糖_ 写道
hibernate的效率让人堪忧,大量的反射封装加壳再加壳,已明显影响性能了。
但hibernate的hql是很好的东西,如果大家统一用hql编码,基本可实现更换数据库0代码修改。
mybatis的出发点不同吧,作者为了屏蔽jdbc大量的try..catch,开关连接,做了一个非常薄的jdbc封装,把sql写在统一的xml文件可以提高sql的复用和维护。
不过mybatis不太满意的是不直接支持第三方数据库连接池(不过可以自己写DataSourceFactory实现)。
但hibernate的hql是很好的东西,如果大家统一用hql编码,基本可实现更换数据库0代码修改。
mybatis的出发点不同吧,作者为了屏蔽jdbc大量的try..catch,开关连接,做了一个非常薄的jdbc封装,把sql写在统一的xml文件可以提高sql的复用和维护。
不过mybatis不太满意的是不直接支持第三方数据库连接池(不过可以自己写DataSourceFactory实现)。
开关连接不是连接池在做的事情么。jdbc不也可以用连接池
20 楼
yn5411
2011-06-08
spring jdbctemplate+xml+velocity
21 楼
lookdd1
2011-06-08
最讨厌动不动就来句 存在即合理 。。。。合理你妹。。
22 楼
lnaigg
2011-06-08
月经贴怎么总是那么多?
mybatis减少95%是夸张了点,减少70-80%是应该有的。
值得一提是mybatis(ibatis3)相比ibatis2又强悍不少,annotation和接口反射的新特性,的确能减少DAO层工作量减少90%。
mybatis减少95%是夸张了点,减少70-80%是应该有的。
值得一提是mybatis(ibatis3)相比ibatis2又强悍不少,annotation和接口反射的新特性,的确能减少DAO层工作量减少90%。
23 楼
konker
2011-06-08
我感觉的确可以减少95%的工作量。真的。主要是,现在可以用Annotation.而且。你写DAO的时候甚至可以只写接口,不用写实现类。
24 楼
theoffspring
2011-06-08
你看错了吧,哪有95那么夸张,mybatis支持annotation,或许这个减少配置。我认识工作量和代码量是两个意思,你直接写jdbc,会降低工作效率,所以用的时间也多,用mybatis的配置则简洁得多,用的时间会成倍地减少。
25 楼
squll369
2011-06-08
我刚刚用了mybatis,全部用的mapper,只要写一个mapper接口,实现就是xml里的sql,我感觉很方便,减少了很多代码量,还是很方便的.
26 楼
New.Mars
2011-06-08
、从技术跟性能方面要权衡考虑。
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>
<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>
28 楼
GavinHwa
2011-06-09
supben 写道
GavinHwa 写道
myBatis3.x可以直接使用mapper来实现吧,xml文件都能省了,如果有需要自己再写个代码生成工具,直接生成myBatis可用的DAO和Mapper也未尝不可啊!
兄台指的是注解么?
是的,目前我是基于注解方式做的,由于刚接触myBatis,不过用工具生成基于xml的应该也可以,只是目前我还没尝试过...
29 楼
jansel
2011-06-09
95%肯定是夸张了
30 楼
夜神月
2011-06-09
mybatis减少90%的量是夸张的,但mybatis相对hibernate来说,我更看好mybatis,灵活度强。可操作性强。
31 楼
laolinshi
2011-06-09
supben 写道
denger 写道
楼主去看看最新的 mybatis 之后再说吧,由其是与 Spring 进行集成+注解方式。需要做的就是 写一个 SQL 就完了~ 这还不简单?
http://denger.iteye.com/blog/1060588
http://denger.iteye.com/blog/1060588
我当然知道,但是最基本的增删改查都要写sql对不对。
而且关联查询的话,又要写一条sql。
我公司一般增删改都用hibernate的,遇到复杂查询的话就用ibatis.
32 楼
meiyoudao
2011-06-10
楼主你上首页了........... 你咋这么抗拒呢
33 楼
siashuayongsheng
2012-09-28
[img]
[/img]