论坛首页 Java企业应用论坛

请点评jdbc通用访问方法,这样可行吗?

浏览 16354 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (2) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-08-24  
hgq0011 写道
to codeutil
非常感谢你的建议。
其实我们用了HIBERNATE,但项目比较大,时间比较赶,而且其他同学学习的不够好(我也差不多),我才决定不会用hibernate的就用jdbc,任其他们天马行空,可谓写的奇特。性能问题很快就冒出来了。

“finally里的一个try进行三个关闭,存在严重的隐患。”我们用HibernateDaoSupport管理连接的,我们都不用手动关闭了吧?,那些都注释了。



没看出来哪里用了hibernate,难道你是用hibernate管理connection,不会吧,My God!,你要连接池就专门找个连接池用啊,不用这样糟蹋hibernate吧
0 请登录后投票
   发表时间:2008-08-24  
......
0 请登录后投票
   发表时间:2008-08-24  
这个视乎和 Ibatis 的那个方法差不多啊。。
0 请登录后投票
   发表时间:2008-08-24  
linhong_1001 写道

没看出来哪里用了hibernate,难道你是用hibernate管理connection,不会吧,My God!,你要连接池就专门找个连接池用啊,不用这样糟蹋hibernate吧


当然不是了。不熟悉hibernate的同学就用JDBC了,熟悉的就直接用HIBERNATE了,当然很复杂的SQL我们还是用JDBC来的爽。
0 请登录后投票
   发表时间:2008-08-24  
建议看一下这个开源工具:
http://coolsql.dev.java.net
,里面的代码写得比较通用,可以研究一下。
0 请登录后投票
   发表时间:2008-08-24  
把connenction作为public方法的参数,不是一种好风格,既然用hibernate/ibatis,就不需要暴露connection
用ResultSetMetaData来处理字段属性的思路是对的,但是map里应该放Field/StringField/IntField/MoneyField....等等
hibernate/ibatis之类的ORM东东,兜了好大一圈,才达到目的,性能是没什么问题,
灵活性也很好,但总有脱裤子放屁的感觉
0 请登录后投票
   发表时间:2008-08-25  
不对sql语句进行分析啊?如果我只取几个字段就出错了.

可以对metadata做一个缓存
0 请登录后投票
   发表时间:2008-08-25  
感觉太耗内存了。每个Map都字段名和数据对应,如果数据量大,内存浪费还是比较严重的。
0 请登录后投票
   发表时间:2008-08-25  
jacklondon 写道
用 Apache common DBUtils 吧。
它可以直接把 ResultSet 通过反射变成 JavaBean List,比你这里的代码要更高明。
或者用 VelocityWeb, 是在 DBUtils 之上的进一步封装。
顺便说一下,List 的遍历,不管是 LinkedList 还是 ArrayList, 建议都用 Iterator, 不要用 params.get(i).
建议看看 Thinking in Java. 虽然很多人不屑,但是这本书对于 Java Collection 一节,介绍得比其他书都要好。



看完这段代码   我第一想起来的也是dbutil
0 请登录后投票
   发表时间:2008-08-26  
楼主测试过性能没问题? 
试下来个50万数据+表中有一个大字段,
应该会有影响吧。
0 请登录后投票
论坛首页 Java企业应用版

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