Rory's Blog
Happy study,Happy work,Happy life
posts - 22,  comments - 46,  trackbacks - 0
以前一直都没有试过,前几天打算把wordpress换成自己写的程序,就想到了数据的导入和导出,首先想到的是用数据库工具来导。可是觉得有些麻烦,我自己的程序是用spring+hibernate的。后来我就试了一下spring的JdbcTemplate,就和HibernateTemplate一样的好用。首先增加一个连接到wp数据库的dataSource
    <bean id="dataSource2" class="org.springframework.jdbc.datasource.DriverManagerDataSource" destroy-method="close">
        
<property name="driverClassName"><value>org.hibernate.dialect.MySQLDialect</value></property>
        
<property name="url">
            
<value>jdbc:mysql://192.168.0.240:3306/wordpressωuseUnicode=true&amp;characterEncoding=utf8</value>
            
</property>
        
<property name="username"><value>root</value></property>
        
<property name="password"><value></value></property>
    
</bean>

    然后在转换程序里面get这个dataSource,new 一个JdbcTemplate(dataSource2),这样就ok了。很简单吧。

    public void testCopyData() throws Exception{
        DataSource ds 
= (DataSource)applicationContext.getBean("dataSource2");
        
        CategoryManager cateManager 
= (CategoryManager) applicationContext.getBean("categoryManager");
        
        JdbcTemplate jt 
= new JdbcTemplate(ds);
        System.out.println(
"Total posts:"+jt.queryForInt("select count(*) from wp_posts"));
        assertNotNull(ds);
        
        List cates 
= jt.queryForList("select * from wp_categories");
        
int i= 0;
        
for(Iterator ite = cates.iterator(); ite.hasNext();){
            i
++;
            Map result 
= (Map) ite.next();
            Category cate 
= new Category();
            cate.setName((String)result.get(
"cat_name"));
            cate.setOrder(i);
            
if(i==1)
                cate.setDefaultCategory(
true);
            cateManager.saveCategory(cate);
            System.out.println(
"cat_name:"+result.get("cat_name")+"\n");
        }
    }
posted on 2006-04-07 00:03 莫多 阅读(3579) 评论(7)  编辑  收藏 所属分类: Spring

FeedBack:
# re: spring操作数据库如此简单
2006-04-07 07:08 | 剑事
Category可以不要了  回复  更多评论
  
# re: spring操作数据库如此简单
2006-04-07 09:13 | 莫多
为什么不要了? 不明白  回复  更多评论
  
# re: spring操作数据库如此简单
2006-04-07 09:24 | yerba
CategoryManager cateManager = (CategoryManager) applicationContext.getBean("categoryManager");
这个没有作用的嘛  回复  更多评论
  
# re: spring操作数据库如此简单
2006-04-07 09:33 | 剑事
已经封装到MAP里了 直接用就可以了

ResultSet-->Map-->Category 经手过多  回复  更多评论
  
# re: spring操作数据库如此简单
2006-04-07 10:55 | 莫多
To:yerba
怎么没有作用?
cateManager.saveCategory(cate);
用这个保存到我的新数据库中的啊。  回复  更多评论
  
# re: spring操作数据库如此简单
2006-04-07 10:56 | 莫多
to:剑事
我是为了用hibernate才这样做的啊,这样我就不用再写insert了啊。呵呵。
  回复  更多评论
  
# re: spring操作数据库如此简单
2006-06-21 13:41 | xmlspy@tom.com
如果是大批量的update或者insert,建议用
JdbcTemplate().batchUpdate(sql,BatchPreparedStatementSetter )

性能有质的提高  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航:
 

<2006年4月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456

常用链接

留言簿(1)

随笔分类(27)

随笔档案(22)

Friends

搜索

  •  

积分与排名

  • 积分 - 61891
  • 排名 - 845

最新评论

阅读排行榜

评论排行榜