精华帖 (0) :: 良好帖 (0) :: 新手帖 (1) :: 隐藏帖 (1)
|
|
---|---|
作者 | 正文 |
发表时间:2008-08-21
对数据库操作用联表查询比较多。目前用的是ibatis2.3 感觉不如JDBC方便(新手的见解),特别是数据库备份功能,要求执行任意语句。如:select * from tales语句。 ibatis封装成map传个业务层,业务层在把MAP遍历出来。这个过程没有JDBC快。 我没有用过Hibernate 不知道Hibernate比不比ibatis快。请各位帮忙指点迷经。 以下是数据库备份代码: <statement id="mysql" resultClass="java.util.HashMap" parameterClass="String" remapResults="true"> <![CDATA[ $value$ ]]> </statement> list=service.mysql("select * from "+tables[0]);//备份内容 StringBuffer tab=new StringBuffer(); for(int j=0;j<list.size();j++){ map=(Map)list.get(j); tab.append("INSERT INTO "); tab.append(tables[0])); Iterator it=map.keySet().iterator(); tab.append("("); for(int m=0;it.hasNext();m++){ tab.append(it.next()); if(m<(map.size()-1)){ tab.append(","); } } tab.append(")"); tab.append(" VALUES("); Iterator its=map.keySet().iterator(); for(int n=0;its.hasNext();n++){ tab.append("'"); tab.append(map.get(its.next())); tab.append("'"); if(n<(map.size()-1)){ tab.append(","); } } tab.append(");\r\n"); if(tab.toString().getBytes().length>(fsize*1024)){//判断大小分卷 Tools.outfile(application.getRealPath("/WEB-INF/sqlback/"+tables[0]+"_"+(teg+1)+".txt"), tab.toString()); teg++; tab=new StringBuffer(); }else{ Tools.outfile(application.getRealPath("/WEB-INF/sqlback/"+tables[0]+"_"+(teg+1)+".txt"), tab.toString()); } } 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2008-08-22
快沉了,难道我的问题很低级?还是没说明白
|
|
返回顶楼 | |
发表时间:2008-08-22
都是ORM工具,没有什么好不好的,只有哪个工具你们公司用得人多,掌握的比较好
hibernate有人总觉得性能差,那是因为不会用 |
|
返回顶楼 | |
发表时间:2008-08-22
iBATIS是用来管理SQL的,不是快速开发工具。
做快速开发不如用Grails。 |
|
返回顶楼 | |
发表时间:2008-08-22
那开发cms数据库连接用什么框架比较好?还是干脆不用框架?
|
|
返回顶楼 | |
发表时间:2008-08-23
Hibernate肯定不如ibatis快(查询方面)这是肯定的,用ibatis你想怎么控制都行
|
|
返回顶楼 | |
发表时间:2008-08-23
强悍,这样写代码,不知道你们db中的数据有多少??
会不会outofmemory |
|
返回顶楼 | |
发表时间:2008-08-23
yanshiyi 写道 cyberblue 写道 iBATIS是用来管理SQL的,不是快速开发工具。
做快速开发不如用Grails。 Grails?我没看错吧?你们公司使用这种非主流框架吗? 你看这网站怎么样 http://www.javaread.com 基于Grails的 反正基于java而且出名的程序质量一般都很高。 |
|
返回顶楼 | |
发表时间:2008-08-23
渐行渐远 写道 cyberblue 写道 yanshiyi 写道 cyberblue 写道 iBATIS是用来管理SQL的,不是快速开发工具。
做快速开发不如用Grails。 Grails?我没看错吧?你们公司使用这种非主流框架吗? 你看这网站怎么样 http://www.javaread.com 基于Grails的 反正基于java而且出名的程序质量一般都很高。 从外表来看,界面简陋; 从内容上来看,没什么东西,“提问”跟“推敲”版面很少有人回答,浏览次数倒是不少; 从运行速度来看,倒是不卡,可能是因为内容不多而且访问量不大的缘故。 你说这个网站出名,对不起,我还是第一次听说,希望它以后会很有名,毕竟它是“第一个”敢于吃螃蟹的人。另外,你说基于java的出名的程序质量很高,这倒未必的,记得javaeye很早以前有篇帖子是分析freemarker上的一个很简单的错误的。 我以前在linux下折腾过一次,感觉很慢,而且找不到合适的教材。后来太忙就放弃了,没想到有人会拿它做东西。 ps:本人无知且愚昧不堪,有不爽的地方只管拿板砖拍。 不是这个网站本身有名,是Grails有名,而且Grails是SUN推荐的项目,不会有太大的问题。 |
|
返回顶楼 | |
发表时间:2008-08-23
landy 写道
强悍,这样写代码,不知道你们db中的数据有多少??
会不会outofmemory
这个问题我也想过,应该做个分页备份。但我看DEDEcms就是用这一条语句没加分页。还有难道java备份mysql一定要把所有的内容查出来才能备份吗?有没有一条语句就能搞定的。当然还有用mysql工具mysqldump dos命令执行的。那个不适合网站备份功能。空间商不能给你这权限。 很迷茫。 还有mysql的导入语句。source c:/test.sql 在JDBC提供的方法中不好事使。 不知道为什么。 正常做数据还原是怎么做的?将文件保存的语句批量插入数据库? |
|
返回顶楼 | |