论坛首页 Java企业应用论坛

iBATIS评价

浏览 55328 次
锁定老帖子 主题:iBATIS评价
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2004-08-21  
现在数据持久性框架也忒多了吧?呵呵
   前一段用了一下ibatis,发觉实在难用,后来干脆自己写了一个,感觉比它好用些。
   现在又有了dudoj,呵呵,还支持函数,针对复杂查询,不错,看看先
   发表时间:2004-08-21  
ibatis相对贴近sql一点。不过不算太难用啊(前提是以前没有用过hibernate,hehe,风格上有很大不同)。
好像过段时间ibatis就要加入apache了,但愿不要像tapestry,到了那儿就开始忙别的了
0 请登录后投票
   发表时间:2004-08-22  
我觉得ibatis难用是这样几个方面,第一就是它的sqlMap连基本的CURD的Mapping都不支持,都必须要自己写,麻烦了。第二就是它的配置文件写起来很麻烦,比如说,一不能自动识别null(就是匹配的字段不能为null,要么就必须为其设置当是null时的默认值),二,对于Oracle数据库不支持(+),也就是不清楚在Oracle数据库下怎么写带有左右连接的SQL语句。三,虽然说它是JDBC的轻量级封装,但是它的配置文件中的SQL语句的写法和JDBC又略有不同,实在不解当时参数不用?而用## .。四,ibatis的DAO框架必须要继承它的基类,传入DaoManager接口,这比较烦躁,实在不好与原有系统挂接。
0 请登录后投票
   发表时间:2004-08-24  
我也试用过iBATIS,不过我觉得不如直接使用JDBC好

spring对jdbc的封装非常好

我在DAO中要做的,只是写SQL,再写resultset中提取数据的代码,这个工作量并不大(大部分是copy&paste)。虽然sql写死在代码中了,但所有要变动的东西都在一个类里,修改起来也不麻烦。
0 请登录后投票
   发表时间:2004-08-25  
1:基本的crud sql可以自动生成的阿,自己稍微写个工具类就是了
3:不明白用##有什么不妥的
0 请登录后投票
   发表时间:2004-08-25  
CURD是可以自动生成,也比较容易,可ibatis就没有做,这种也还是需要字段匹配的,关一个工具类,太弱了。
   ibatsi的另一个问题就是,怎么在配置文件的SQL中表示oracle的左右链接呢?oracle的左右链接是用(+)来表示的,不是用left/right join,如果直接这么写(+),会错,搞不懂该怎么写。
   再一个问题就是当匹配的一个字段为null的时候,必须要在配置文件中设置动态生成sql或者加上默认值,这也太麻烦了吧?一个表单中,限制输入的字段毕竟占少数啊!
     当然,也许是我不熟悉吧
0 请登录后投票
   发表时间:2004-08-26  
他说的第二个问题还没发现。
0 请登录后投票
   发表时间:2004-08-26  
crud确实比较烦。不过有时候倒也能控制得更加精准一点。
不过那个默认值,我觉得肯定有个地方要体现出来。或者在model层,或者在ibatis。不过,这个问题可能我没明白你的意思。
但是那个DaoManager我倒是从来不用,只用spring封装的,hehe
0 请登录后投票
   发表时间:2004-08-26  
的确如此,如果是null的话,插数据会出错的,不爽
0 请登录后投票
   发表时间:2004-08-26  
这种情况我都会在model那一层解决的。即便数据库允许null,在model中我不允许有空值存在。否则在语义和完整性上太冒险了。
所以如果插入的话,经由中间一转,肯定是有值的。
0 请登录后投票
论坛首页 Java企业应用版

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