论坛首页 Java企业应用论坛

开发内容管理系统(cms)ROM用ibatis合适还用Hibernate合适

浏览 20619 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (1) :: 隐藏帖 (1)
作者 正文
   发表时间:2008-08-21  
小弟是新手,想边学边做cms仿 DEDEcms的功能。用spring2.5+struts2+freemarker2.8+ibatis2.3+dwr
对数据库操作用联表查询比较多。目前用的是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());
					}
				}

  • 描述: 数据库备份
  • 大小: 25.3 KB
  • 描述: 一个简单的SQL命令工具
  • 大小: 85.6 KB
   发表时间:2008-08-22  
快沉了,难道我的问题很低级?还是没说明白
0 请登录后投票
   发表时间:2008-08-22  
都是ORM工具,没有什么好不好的,只有哪个工具你们公司用得人多,掌握的比较好
hibernate有人总觉得性能差,那是因为不会用
0 请登录后投票
   发表时间:2008-08-22  
iBATIS是用来管理SQL的,不是快速开发工具。

做快速开发不如用Grails。
0 请登录后投票
   发表时间:2008-08-22  
那开发cms数据库连接用什么框架比较好?还是干脆不用框架?
0 请登录后投票
   发表时间:2008-08-23  
Hibernate肯定不如ibatis快(查询方面)这是肯定的,用ibatis你想怎么控制都行
0 请登录后投票
   发表时间:2008-08-23  
强悍,这样写代码,不知道你们db中的数据有多少??
会不会outofmemory
0 请登录后投票
   发表时间:2008-08-23  
yanshiyi 写道
cyberblue 写道
iBATIS是用来管理SQL的,不是快速开发工具。

做快速开发不如用Grails。

Grails?我没看错吧?你们公司使用这种非主流框架吗?


你看这网站怎么样

http://www.javaread.com

基于Grails的

反正基于java而且出名的程序质量一般都很高。
0 请登录后投票
   发表时间:2008-08-23  
渐行渐远 写道
cyberblue 写道
yanshiyi 写道
cyberblue 写道
iBATIS是用来管理SQL的,不是快速开发工具。

做快速开发不如用Grails。

Grails?我没看错吧?你们公司使用这种非主流框架吗?


你看这网站怎么样

http://www.javaread.com

基于Grails的

反正基于java而且出名的程序质量一般都很高。


从外表来看,界面简陋;

从内容上来看,没什么东西,“提问”跟“推敲”版面很少有人回答,浏览次数倒是不少;

从运行速度来看,倒是不卡,可能是因为内容不多而且访问量不大的缘故。

你说这个网站出名,对不起,我还是第一次听说,希望它以后会很有名,毕竟它是“第一个”敢于吃螃蟹的人。另外,你说基于java的出名的程序质量很高,这倒未必的,记得javaeye很早以前有篇帖子是分析freemarker上的一个很简单的错误的。

我以前在linux下折腾过一次,感觉很慢,而且找不到合适的教材。后来太忙就放弃了,没想到有人会拿它做东西。

ps:本人无知且愚昧不堪,有不爽的地方只管拿板砖拍。


不是这个网站本身有名,是Grails有名,而且Grails是SUN推荐的项目,不会有太大的问题。
0 请登录后投票
   发表时间:2008-08-23  
landy 写道
强悍,这样写代码,不知道你们db中的数据有多少??
会不会outofmemory

 

 这个问题我也想过,应该做个分页备份。但我看DEDEcms就是用这一条语句没加分页。还有难道java备份mysql一定要把所有的内容查出来才能备份吗?有没有一条语句就能搞定的。当然还有用mysql工具mysqldump dos命令执行的。那个不适合网站备份功能。空间商不能给你这权限。

很迷茫。

还有mysql的导入语句。source c:/test.sql 在JDBC提供的方法中不好事使。

不知道为什么。

正常做数据还原是怎么做的?将文件保存的语句批量插入数据库?

0 请登录后投票
论坛首页 Java企业应用版

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