论坛首页 入门技术论坛

为了喷mybatis我下载了mybatis源码

浏览 20182 次
该帖已经被评为新手帖
作者 正文
   发表时间:2011-12-12  
aa87963014 写道
缓存越接近表面越有用,我觉得hibernate和mybatis的缓存弱爆了,他们有着与springjdbctemplate和dbutil之类的框架没有的东西,却没有好好的利用。

我的框架还有一点部分没处理完,之后可以给大家看看。缓存是如何提高程序的性能的!


你又错了, 不是缓存爆弱, 而且没有哪个缓存可以适用于所有的场景, 所有这些orm /sqlmap 框架中所带的缓存仅仅是方便,或者是耍酷。

hibernate 的2级缓存一般是禁用的, 以为无法处理分布式情况(你说找个支持事务的缓存? 例如,jboss的treecache?那效率有问题, 另外如果这样,和数据库的缓存没什么区别,纯属画蛇添足)。

hibernate的1级缓有什么用处? 重复读数据的时候倒是方便一些, 仅限于此。和自己搞个变量保存一下是一样的。当然编程上带来的方便到是挺大的。

反观 mybatis 专注于sql的动态处理(当然,可以说是字符串拼接), 95% 的数据库编程都是都是在处理sql字符拼接上,这点,mybatis目前是做的最好的!

至于, 记录到实体的映射...... 当然,能用就ok了, 其实我觉得能映射成map 就ok了, bean 都是多余的。
0 请登录后投票
   发表时间:2011-12-12  
我说了 如果xxxx mybatis很好。
“反观 mybatis 专注于sql的动态处理(当然,可以说是字符串拼接), 95% 的数据库编程都是都是在处理sql字符拼接上,这点,mybatis目前是做的最好的! ”
这个我说过了。

现在的缓存弱爆了不是因为他们不支持分布式之类的,而是在最普通的情况下效果也非常差。

hibernate的一级缓存并不是为了什么重复读取数据之类这种无聊的事情,并且因为这样一级缓存没办法关闭。
0 请登录后投票
   发表时间:2011-12-12  
愤青哈......
0 请登录后投票
   发表时间:2011-12-12   最后修改:2011-12-12
我去,我的框架都差不多完工了。怎么就变成愤青了。

freyja是我第一个见过认真对待缓存的框架。结果集实体映射我说过了,是框架都有这个功能。
0 请登录后投票
   发表时间:2011-12-12  
使用XML文件存储SQL语句有一个作用:为你开发满足不同数据库的应用提供了另外一种可能,将标准的SQL语句放在一个地方,有些业务不能采用标准SQL实现的,针对不同种数据库编写不同的SQL语句。
当然,楼主也许会说采用Hibernate来满足不同数据库的需求,但是有的项目是不适合使用Hibernate的。
0 请登录后投票
   发表时间:2011-12-12  
好的框架不需要用户在费力去搞神马东东
0 请登录后投票
   发表时间:2011-12-12  
aa87963014 写道
突然想到是否应该加上一个在注解上写sql的功能。
这样看起来确实比较狂酷霸拽,更容易赢得少男少女们的青睐。

真没想到结果集实体映射能变成mybatis的一个优点(?),真为springjdbctemplate和dbutil
表示惋惜,这两位只能支持固定命名规则的sql映射

拜托,MyBatis在annotation上写sql,你认为没什么新意,现在你自己又说为自己的框架加上注解写SQL的功能比较酷,我真无语了。

另外,你没遇到SQL ID重复的问题,我想是因为你都是直接程序中夹杂SQL语句来做项目的吧,这样的话,你做300个项目也不会遇到SQL ID重复的问题,但是如果你想回过头去改那三百个项目程序中混杂的SQL语句,我保证你有自杀的念头。
0 请登录后投票
   发表时间:2011-12-12  
看来楼主的主要意思不是为了喷MyBatis,而是为了宣传自己的框架,看来我们大家的回复,都是为你免费宣传了。既然这样,我就不为你推波助澜了。
0 请登录后投票
   发表时间:2011-12-12  
把sql写在xml就是一种虚假的优雅,隔罩摸乳。
直接写在dao中则可以快速找到入口,直奔主题。
0 请登录后投票
   发表时间:2011-12-12  
最后,鼓励一下楼主造轮子的精神,虽然我不喜欢为别人免费宣传,但是我比较赞同造轮子的行为,因为我也常造轮子。

以前我造轮子的原因是:当我造完轮子,才发现原来已经有了现成的开源实现可用,但是我没发现;

现在造轮子的原因是:如果我认为学习、改造一个框架的代价大于自己造个轮子的代价,我会选择造轮子。
0 请登录后投票
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics