1 try {
2 conn=JDBCUtil.getConnection();
3 preparedStatement = conn.prepareStatement(DROP_TABLE_1);
4 preparedStatement.executeUpdate();
5 preparedStatement= conn.prepareStatement(CREATE_TABLE_1_SQL);
6 preparedStatement.executeUpdate();
7 preparedStatement = conn.prepareStatement(DROP_TABLE_2);
8 preparedStatement.executeUpdate();
9 preparedStatement= conn.prepareStatement(CREATE_TABLE_2_SQL);
10 preparedStatement.executeUpdate();
11 conn.setAutoCommit(false);
12 conn.commit();
13 JDBCUtil.release(conn,preparedStatement);
14
15 } catch (SQLException e) {
16 e.printStackTrace();
17 System.out.println("出現問題!建表失敗!");
18 }
因為自己很久沒寫JDBC的操作了是以出現了一些錯誤和誤區
1、preparedStatement = conn.prepareStatement(DROP_TABLE_1);
preparedStatement.executeUpdate();
這兩行代碼,第一行是把要執行的sql語句作為參數傳到preparedStatement,preparedStatement.executeUpdate();是把這一條sql語句放到緩沖區,每一次隻能放一個完整的sql語句,然後就要寫一次executeUpdate方法。
2、conn.setAutoCommit( )這個方法要把自動送出事務設定為false,然後再手動調用commit方法。