數據庫是否嵌入並不重要,只要它具有JDBC連接。在你的情況下,德比會提供給你connection information。
您的代碼可能是這個樣子: -
// much easier to read with String.format()... in my opinion
final String updateString = String.format("create table %s (%s %s, %s %s)",
TABLE_NAME_TBL_IPS,
TABLE_COLUMN_COMPANY,
TABLE_COLUMN_COMPANY_DATA_TYPE,
TABLE_COLUMN_IP,
TABLE_COLUMN_IP_DATA_TYPE);
Connection con = null;
try {
con = DriverManager.getConnection("jdbc:derby:yourDatabaseName");
PreparedStatement ps = con.prepareStatement(updateString);
ps.executeUpdate();
ps.close();
}
catch (SQLException e) {
e.printStackTrace();
}
finally {
try {
con.close();
}
catch (Exception ignored) {
}
}
關於你的問題是否這樣做,使用存儲過程或PreparedStatement
,有一堆的信息在那裏你很容易搜索。您通常使用存儲過程來分組一堆SQL語句,而PreparedStatement
只允許您執行一條SQL語句。如果您打算公開該API以允許您的用戶執行它而不考慮技術(Java,.NET,PHP),那麼使用存儲過程是一個好主意。但是,如果您僅爲Java應用程序編寫此SQL語句纔有效,那麼只需使用PreparedStatement
即可。