锁定老帖子 主题:每一个用mybatis的男纸,你伤不起
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (13)
|
|
---|---|
作者 | 正文 |
发表时间:2011-06-08
最后修改:2011-06-08
楼主去看看最新的 mybatis 之后再说吧,由其是与 Spring 进行集成+注解方式。需要做的就是 写一个 SQL 就完了~ 这还不简单?
http://denger.iteye.com/blog/1060588 |
|
返回顶楼 | |
发表时间:2011-06-08
白糖_ 写道 hibernate的效率让人堪忧,大量的反射封装加壳再加壳,已明显影响性能了。
但hibernate的hql是很好的东西,如果大家统一用hql编码,基本可实现更换数据库0代码修改。 mybatis的出发点不同吧,作者为了屏蔽jdbc大量的try..catch,开关连接,做了一个非常薄的jdbc封装,把sql写在统一的xml文件可以提高sql的复用和维护。 不过mybatis不太满意的是不直接支持第三方数据库连接池(不过可以自己写DataSourceFactory实现)。 说效率让人担忧就拿出测试报告,反射是没错,高版本JDK反射都做了优化,而且Hibernate都把Pojo class缓存了,反射影响性能何来这一说? ibatis也没什么不对,存在即合理 |
|
返回顶楼 | |
发表时间:2011-06-08
口水战。各有千秋而已。没必要去争论。无论是XML还是注解。看具体情况。ibatis我觉得只是对JDBC的封装,减少了重复率。至于实际的工作量,这个看具体项目情况
|
|
返回顶楼 | |
发表时间:2011-06-08
我们项目页面类似报表,往往需要连接10+个表,20左右的查询条件,基本是写好SQL语句COPY到XML,感觉用起来比较灵活
|
|
返回顶楼 | |
发表时间:2011-06-08
MyBatis相对于JDBC来说没有减少工作量,减少代码行数也不是MyBatis的目标,MyBatis的作用是:
在性能上与原生JDBC接近的情况下,实现SQL语句和程序逻辑的彻底分离; 实现SQL查询出的ResultMap和实体类的映射; 实现SQL语句的非法字符(如SQL注入攻击)的过滤; |
|
返回顶楼 | |
发表时间:2011-06-08
GavinHwa 写道
myBatis3.x可以直接使用mapper来实现吧,xml文件都能省了,如果有需要自己再写个代码生成工具,直接生成myBatis可用的DAO和Mapper也未尝不可啊!
|
|
返回顶楼 | |
发表时间:2011-06-08
一句话,偏见源于无知
|
|
返回顶楼 | |
发表时间:2011-06-08
GavinHwa 写道 myBatis3.x可以直接使用mapper来实现吧,xml文件都能省了,如果有需要自己再写个代码生成工具,直接生成myBatis可用的DAO和Mapper也未尝不可啊!
兄台指的是注解么? |
|
返回顶楼 | |
发表时间:2011-06-08
denger 写道 楼主去看看最新的 mybatis 之后再说吧,由其是与 Spring 进行集成+注解方式。需要做的就是 写一个 SQL 就完了~ 这还不简单?
http://denger.iteye.com/blog/1060588 我当然知道,但是最基本的增删改查都要写sql对不对。 而且关联查询的话,又要写一条sql。 |
|
返回顶楼 | |
发表时间:2011-06-08
白糖_ 写道 hibernate的效率让人堪忧,大量的反射封装加壳再加壳,已明显影响性能了。
但hibernate的hql是很好的东西,如果大家统一用hql编码,基本可实现更换数据库0代码修改。 mybatis的出发点不同吧,作者为了屏蔽jdbc大量的try..catch,开关连接,做了一个非常薄的jdbc封装,把sql写在统一的xml文件可以提高sql的复用和维护。 不过mybatis不太满意的是不直接支持第三方数据库连接池(不过可以自己写DataSourceFactory实现)。 开关连接不是连接池在做的事情么。jdbc不也可以用连接池 |
|
返回顶楼 | |