2015-11-13 83 views
0

因此,例如,如果我有一個字符串數組列表,我該如何將它們順序放入數據庫中。 例如,如果我的數組列表是:「john」,「sally」,「rob」 我怎麼能把它放到我的數據庫中,這樣第1行是john,第2行是sally,第3行是rob。 我想沿着線的東西:將數組元素順序插入數據庫java

for(int i = 0; i < array.size(); i++){ 
    query = "insert into database values(i); 
} 

但我不知道這是正確的做法,因爲我也將插入其它值到比數組其他數據庫。

+1

你如何定義「行」?記錄是否有一個定義行號的數字主鍵?而且,除了數組*以外,*其他值,這是什麼意思?你能提供更豐富的例子嗎? – lurker

回答

0

我假設你的意思是一個簡單的插入;

首先你的數據庫連接,就像這樣:

public class DBConnection { 

final private String url = "jdbc:mysql://localhost/"; 
final private String databaseName = "test"; 
final private String user = "root"; 
final private String password = "159753"; 

public Connection Connect() { 
    Connection c = null; 
    try { 
     c = DriverManager.getConnection(url + databaseName, user, password); 
    } catch (SQLException ex) { 
     Logger.getLogger(DBConnection.class.getName()).log(Level.SEVERE, null, ex); 
    } 
    return c; 
}} 

下面是插入一個簡單的例子:

public static void main(String[] args) { 
    Connection con = new DBConnection().Connect(); 
    String sql = "INSERT INTO nameTable (name) values (?)"; 
    PreparedStatement stmt; 
    try { 
     stmt = con.prepareStatement(sql); 
     List<String> names = new ArrayList(); 
     names.add("John"); 
     names.add("Sally"); 
     names.add("Rob"); 
     for (String name : names) { 
      stmt.setString(1, name); 
      stmt.execute(); 
     } 
     stmt.close(); 
     con.close(); 
    } catch (SQLException ex) { 
     System.err.println("Error = " + ex); 
    } 
}} 

PS:不過你可以用一個Java持久性API也。 wikibook是一個很好的資源作爲參考

+0

謝謝!它現在有效。 – StephCurry3093