動態建表首先需要了解Statement類
Statement 對象用 Connection 的方法createStatement 創建,例如
//創建連接對象
Connection connection = DBUtil.getConnection();
//創建Statement對象
Statement statement=connection.createStatement();
創建完之后通過執行以sql語句為參數的Statement的方法,來執行sql語句完成對數據庫的操作。
Statement共有三種方法,分別是 executeQuery、executeUpdate 和execute。
方法 executeQuery 用於產生單個結果集的語句,例如 SELECT 語句。
方法 executeUpdate 用於執行 INSERT、UPDATE 或 DELETE 語句以及 SQLDDL(數據定義語言)語句,例如 CREATE TABLE 和 DROP TABLE。INSERT、UPDATE 或 DELETE語句的效果是修改表中零行或多行中的一列或多列。executeUpdate 的返回值是一個整數,指示受影響的行數(即更新計數)。對於CREATE TABLE 或 DROP TABLE 等不操作行的語句,executeUpdate 的返回值總為零。如果沒有進行操作就返回-1。
方法 execute用於執行返回多個結果集、多個更新計數或二者組合的語句,我們不會需要該高級功能,所以本概述就不進行介紹了。
動態建表實例:
String tablename="WrongExpression";
sql = "create table "+tablename+"(time varchar(255),expression varchar(20),result varchar(20))";
int result = stmt.executeUpdate(sql);// executeUpdate語句會返回一個受影響的行數,如果返回-1就沒有成功