Rory's Blog
          Happy study,Happy work,Happy life
          posts - 22,  comments - 46,  trackbacks - 0
          以前一直都沒有試過,前幾天打算把wordpress換成自己寫的程序,就想到了數據的導入和導出,首先想到的是用數據庫工具來導??墒怯X得有些麻煩,我自己的程序是用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 莫多 閱讀(3589) 評論(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

          搜索

          •  

          積分與排名

          • 積分 - 62243
          • 排名 - 845

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 吉林省| 新营市| 龙胜| 张家港市| 得荣县| 宝应县| 萨嘎县| 聂荣县| 广灵县| 景德镇市| 稷山县| 二手房| 丽江市| 永福县| 巴林左旗| 赤城县| 东平县| 阿拉尔市| 扶沟县| 特克斯县| 广丰县| 常熟市| 邛崃市| 正镶白旗| 玛曲县| 松原市| 乐昌市| 西安市| 巨鹿县| 鸡东县| 临朐县| 蕉岭县| 凌云县| 合作市| 思茅市| 玉林市| 岳阳县| 登封市| 定襄县| 安西县| 常德市|