1 package migratool.access;
2
3 import java.sql.Connection;
4 import java.sql.DriverManager;
5 import java.sql.PreparedStatement;
6 import java.sql.SQLException;
7 import java.util.Iterator;
8 import java.util.Vector;
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 public class Insertor {
36
37
38 private boolean iniciou;
39
40
41 private static Insertor singleton;
42
43 private Insertor() {
44 }
45
46
47
48
49
50 public static Insertor getInstance(){
51 if (singleton == null)
52 singleton = new Insertor();
53 return singleton;
54 }
55
56
57
58
59
60
61 private Connection getConnection(){
62 Connection con = null;
63
64 String url = "jdbc:oracle:thin:@150.165.75.169:1521:PIRAO";
65 String user = "";
66 String password = "";
67 try{
68 Class.forName("oracle.jdbc.driver.OracleDriver");
69 con = DriverManager.getConnection(url,user,password);
70 }catch(Exception erro){
71 erro.printStackTrace();
72 }
73 return con;
74 }
75
76
77
78
79
80 private void closeConnection(Connection con) {
81 try{
82 if (!con.isClosed())
83 con.close();
84 }catch(Exception erro){
85 erro.printStackTrace();
86 }
87 }
88
89 public boolean insert(Vector columns, Vector lines, String tableName) throws SQLException{
90 Insertor inser = Insertor.getInstance();
91 Connection conn = inser.getConnection();
92 String variables = generateVariables(columns.size());
93 PreparedStatement pst = null;
94 try {
95 pst = conn.prepareStatement("INSERT INTO " + tableName + " VALUES " + variables);
96 } catch (SQLException e) {
97 e.printStackTrace();
98 }
99 Iterator itLines = lines.iterator();
100 while(itLines.hasNext()){
101 Vector currentLine = (Vector) itLines.next();
102 for(int parm = 1; parm <= columns.size(); parm++){
103 pst.setObject(parm,currentLine.elementAt(parm));
104 }
105 }
106
107 return true;
108 }
109
110
111
112
113
114 private String generateVariables(int quantVariable) {
115 String toReturn = "(?";
116 for(int variables = 1; variables < quantVariable; variables++){
117 toReturn = toReturn + ",?";
118 }
119 toReturn = toReturn + ")";
120 return toReturn;
121 }
122
123 }