日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java开发中jdbc连接数据 库的操作代码

發布時間:2025/3/17 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java开发中jdbc连接数据 库的操作代码 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2019獨角獸企業重金招聘Python工程師標準>>>

  • JDBC連接數據庫 ??
  • ?創建一個以JDBC連接數據庫的程序,包含7個步驟: ??
  • ?1、加載JDBC驅動程序: ??
  • ????在連接數據庫之前,首先要加載想要連接的數據庫的驅動到JVM(Java虛擬機), ??
  • ????這通過java.lang.Class類的靜態方法forName(String??className)實現。 ??
  • ????例如: ??
  • ????try{ ??
  • ????//加載MySql的驅動類???
  • ????Class.forName("com.mysql.jdbc.Driver")?; ??
  • ????}catch(ClassNotFoundException?e){ ??
  • ????System.out.println("找不到驅動程序類?,加載驅動失敗!"); ??
  • ????e.printStackTrace()?; ??
  • ????} ??
  • ???成功加載后,會將Driver類的實例注冊到DriverManager類中。 ??
  • ?2、提供JDBC連接的URL ??
  • ????連接URL定義了連接數據庫時的協議、子協議、數據源標識。 ??
  • ?????書寫形式:協議:子協議:數據源標識 ??
  • ????協議:在JDBC中總是以jdbc開始 ??
  • ????子協議:是橋連接的驅動程序或是數據庫管理系統名稱。 ??
  • ????數據源標識:標記找到數據庫來源的地址與連接端口。 ??
  • ????例如:(MySql的連接URL) ??
  • ????jdbc:mysql: ??
  • ????????//localhost:3306/test?useUnicode=true&characterEncoding=gbk?;???
  • ???useUnicode=true:表示使用Unicode字符集。如果characterEncoding設置為 ??
  • ???gb2312或GBK,本參數必須設置為true?。characterEncoding=gbk:字符編碼方式。 ??
  • ?3、創建數據庫的連接 ??
  • ?????要連接數據庫,需要向java.sql.DriverManager請求并獲得Connection對象, ??
  • ?????該對象就代表一個數據庫的連接。 ??
  • ?????使用DriverManager的getConnectin(String?url?,?String?username?,? ??
  • ????String?password?)方法傳入指定的欲連接的數據庫的路徑、數據庫的用戶名和 ??
  • ?????密碼來獲得。 ??
  • ?????例如: ??
  • ?????//連接MySql數據庫,用戶名和密碼都是root???
  • ?????String?url?=?"jdbc:mysql://localhost:3306/test"?;? ??
  • ?????String?username?=?"root"?; ??
  • ?????String?password?=?"root"?; ??
  • ?????try{ ??
  • ????Connection?con?=? ??
  • ?????????????DriverManager.getConnection(url?,?username?,?password?)?; ??
  • ?????}catch(SQLException?se){ ??
  • ????System.out.println("數據庫連接失敗!"); ??
  • ????se.printStackTrace()?; ??
  • ?????} ??
  • ?4、創建一個Statement ??
  • ?????要執行SQL語句,必須獲得java.sql.Statement實例,Statement實例分為以下3??
  • ?????種類型: ??
  • ??????1、執行靜態SQL語句。通常通過Statement實例實現。 ??
  • ??????2、執行動態SQL語句。通常通過PreparedStatement實例實現。 ??
  • ??????3、執行數據庫存儲過程。通常通過CallableStatement實例實現。 ??
  • ????具體的實現方式: ??
  • ????????Statement?stmt?=?con.createStatement()?; ??
  • ???????PreparedStatement?pstmt?=?con.prepareStatement(sql)?; ??
  • ???????CallableStatement?cstmt?=? ??
  • ????????????????????????????con.prepareCall("{CALL?demoSp(??,??)}")?; ??
  • ?5、執行SQL語句 ??
  • ????Statement接口提供了三種執行SQL語句的方法:executeQuery?、executeUpdate ??
  • ???和execute ??
  • ????1、ResultSet?executeQuery(String?sqlString):執行查詢數據庫的SQL語句 ??
  • ????????,返回一個結果集(ResultSet)對象。 ??
  • ?????2int?executeUpdate(String?sqlString):用于執行INSERT、UPDATE或 ??
  • ????????DELETE語句以及SQL?DDL語句,如:CREATE?TABLE和DROP?TABLE等 ??
  • ?????3、execute(sqlString):用于執行返回多個結果集、多個更新計數或二者組合的 ??
  • ????????語句。 ??
  • ???具體實現的代碼: ??
  • ??????????ResultSet?rs?=?stmt.executeQuery("SELECT?*?FROM?...")?; ??
  • ????int?rows?=?stmt.executeUpdate("INSERT?INTO?...")?; ??
  • ????boolean?flag?=?stmt.execute(String?sql)?; ??
  • ?6、處理結果 ??
  • ????兩種情況: ??
  • ?????1、執行更新返回的是本次操作影響到的記錄數。 ??
  • ?????2、執行查詢返回的結果是一個ResultSet對象。 ??
  • ??????ResultSet包含符合SQL語句中條件的所有行,并且它通過一套get方法提供了對這些 ??
  • ??????行中數據的訪問。 ??
  • ??????使用結果集(ResultSet)對象的訪問方法獲取數據: ??
  • ?????while(rs.next()){ ??
  • ?????????String?name?=?rs.getString("name")?; ??
  • ????String?pass?=?rs.getString(1)?;?//?此方法比較高效???
  • ?????} ??
  • ????(列是從左到右編號的,并且從列1開始) ??
  • ?7、關閉JDBC對象? ??
  • ?????操作完成以后要把所有使用的JDBC對象全都關閉,以釋放JDBC資源,關閉順序和聲 ??
  • ?????明順序相反: ??
  • ?????1、關閉記錄集 ??
  • ?????2、關閉聲明 ??
  • ?????3、關閉連接對象 ??
  • ??????????if(rs?!=?null){???//?關閉記錄集???
  • ????????try{ ??
  • ????????????rs.close()?; ??
  • ????????}catch(SQLException?e){ ??
  • ????????????e.printStackTrace()?; ??
  • ????????} ??
  • ??????????} ??
  • ??????????if(stmt?!=?null){???//?關閉聲明???
  • ????????try{ ??
  • ????????????stmt.close()?; ??
  • ????????}catch(SQLException?e){ ??
  • ????????????e.printStackTrace()?; ??
  • ????????} ??
  • ??????????} ??
  • ??????????if(conn?!=?null){??//?關閉連接對象???
  • ?????????try{ ??
  • ????????????conn.close()?; ??
  • ?????????}catch(SQLException?e){ ??
  • ????????????e.printStackTrace()?; ??
  • ?????????} ??
  • ??????????}??
  • 轉載于:https://my.oschina.net/yanjianhai/blog/217795

    總結

    以上是生活随笔為你收集整理的java开发中jdbc连接数据 库的操作代码的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。