KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > javabb > migration > betweendbs > Jbb_users


1 /**
2  * Script de migração phpBB -> JavaBB
3  * @author Lucas Teixeira - lucas@javabb.org
4  */

5
6 package org.javabb.migration.betweendbs;
7 import java.sql.Connection JavaDoc;
8 import java.sql.PreparedStatement JavaDoc;
9 import java.sql.ResultSet JavaDoc;
10 import java.sql.SQLException JavaDoc;
11 import java.sql.Statement JavaDoc;
12
13 public class Jbb_users extends Jbb_Convert {
14     
15     public void convert() throws ClassNotFoundException JavaDoc, SQLException JavaDoc {
16         sql = "select * from jbb_users order by id_user;";
17         System.out.println("TABLE JBB_USERS.");
18         Connection JavaDoc phpConn = this.getDbOrigin();
19         Statement JavaDoc stm = phpConn.createStatement();
20         System.out.println("\tReading data");
21         ResultSet JavaDoc rs = stm.executeQuery(sql);
22         long i = 0;
23        
24         Connection JavaDoc javaConn = this.getDbDest();
25         
26         //javaConn.createStatement().executeUpdate("ALTER TABLE jbb_users MODIFY COLUMN id_user BIGINT(20) NOT NULL DEFAULT '0'");
27
//System.out.println("ALTER TABLE jbb_users MODIFY COLUMN id_user BIGINT(20) NOT NULL DEFAULT '0' is OK!");
28
//"Operação : ALTER TABLE jbb_users MODIFY COLUMN id_user BIGINT(20) NOT NULL DEFAULT '0' AUTO_INCREMENT"
29

30         javaConn.createStatement().executeUpdate("delete from jbb_users");
31         System.out.println("delete from jbb_users is OK!");
32         
33         PreparedStatement JavaDoc ps = javaConn.prepareStatement("insert into jbb_users (id_user, user_name, pws, name, email, posts, admin, " +
34                 "data_registro, localizacao, website, occupation, user_sig, user_msnm, user_lastvisit, user_dateformat, " +
35                 "user_allow_viewonline, user_avatar, user_icq, user_interests, user_aim, user_yim, show_mail, show_signature, " +
36                 "user_code) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)");
37
38         System.out.println("\tInserting data ");
39         while (rs.next()) {
40             ps.setInt ( 1, rs.getInt("id_user"));
41             ps.setString ( 2, rs.getString("user_name"));
42             ps.setString ( 3, rs.getString("pws"));
43             ps.setString ( 4, rs.getString("name"));
44             ps.setString ( 5, rs.getString("email"));
45             ps.setInt ( 6, rs.getInt("posts"));
46             ps.setInt ( 7, rs.getInt("admin"));
47             ps.setTimestamp ( 8, rs.getTimestamp("data_registro"));
48             ps.setString ( 9, rs.getString("localizacao"));
49             ps.setString (10, rs.getString("website"));
50             ps.setString (11, rs.getString("occupation"));
51             ps.setString (12, rs.getString("user_sig"));
52             ps.setString (13, rs.getString("user_msnm"));
53             ps.setTimestamp (14, rs.getTimestamp("user_lastvisit"));
54             ps.setString (15, rs.getString("user_dateformat"));
55             ps.setString (16, rs.getString("user_allow_viewonline"));
56             ps.setString (17, rs.getString("user_avatar"));
57             ps.setString (18, rs.getString("user_icq"));
58             ps.setString (19, rs.getString("user_interests"));
59             ps.setString (20, rs.getString("user_aim"));
60             ps.setString (21, rs.getString("user_yim"));
61             ps.setInt (22, rs.getInt("show_mail"));
62             ps.setInt (23, rs.getInt("show_signature"));
63             ps.setString (24, rs.getString("user_code"));
64             
65             ps.addBatch();
66             System.out.print(".");
67
68             try{
69                 if(i%2000==0){
70                     ps.executeBatch();
71                 }
72             }catch(SQLException JavaDoc ex1){
73                 System.out.println("Cannot insert the userId:" + rs.getInt("id_user"));
74             }
75             i++;
76
77         }
78         System.out.println("\n");
79         ps.executeBatch(); //Executa o restante.
80

81         //Corrige o bug do Usuário Anonymous
82
ps = javaConn.prepareStatement("UPDATE jbb_users SET id_user = ? WHERE user_name = ?;");
83         ps.setInt (1, 0); //id 0
84
ps.setString(2, "Anonymous");
85         ps.executeUpdate();
86         
87         
88         //javaConn.createStatement().executeUpdate("ALTER TABLE jbb_users MODIFY COLUMN id_user BIGINT(20) NOT NULL DEFAULT '0' AUTO_INCREMENT");
89
//System.out.println("ALTER TABLE jbb_users MODIFY COLUMN id_user BIGINT(20) NOT NULL DEFAULT '0' AUTO_INCREMENT is OK!");
90

91         ps.close();
92         stm.close();
93         rs.close();
94         phpConn.close();
95         javaConn.close();
96         System.out.print("Done!\n\n");
97     }
98 }
99
Popular Tags