spring操作数据库如此简单

来源:互联网 发布:淘宝助理子账号打单 编辑:程序博客网 时间:2024/05/16 01:45
以前一直都没有试过,前几天打算把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");
        }
    }
原创粉丝点击