標籤:todo generate col 連結 使用者 actor 驅動 getc static
public class JDBCTemplate { /** * 增刪改封裝 * @param sql:要執行的sql語句 * @param params sql對應的參數值,必須是和問號一一對應 * @return rows 增加的影響的行數 * @throws SQLException */ public static int update(String sql,Object [] params) throws SQLException{ //調用封裝的方法註冊驅動,與資料庫建立連結 Connection conn = ConnectionFactory.getConnection(); //建立需要執行的sql語句的prepareStatement()方法 PreparedStatement pstmt = conn.prepareStatement(sql); //判斷 如果傳進來的數組是正確的sql語句 if(params!=null&¶ms.length>0){ for (int i = 0; i < params.length; i++) { //因為數組的下標是從0開始,資料庫的下標是從1開始,要一一對應必須將下標+1 //params[i]是對應的參數類型 pstmt.setObject(i+1,params[i]); } } //調用方法返回修改的影響行數 int rows = pstmt.executeUpdate(); //調用原廠模式中封裝的關閉資源的方法 ConnectionFactory.close(pstmt, conn); //返回 rows return rows; } public static void main(String[] args) { //建立需要執行的sql語句(sql語句可以更改,根據實際傳入的語句在執行相應的增刪改業務操作) String sql = "update t_user set password=? where id=?"; try { //new Object[] {"333",1} "333" 是修改的密碼 1 是表中id=1的使用者 int rows = JDBCTemplate.update(sql, new Object[] {"333",1}); System.out.println(rows); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } }}
資料庫曾刪改通用方法封裝(根據曾 刪 改 的sql語句來執行相應的業務操作,)