JDBC學習筆記(一)
阿新 • • 發佈:2022-03-27
Q:JDBC是什麼?
A: java DataBase Connectivity(java語言連線資料庫),本質是sun公司制定的一套介面(interface)
JDBC程式設計六步:
一:註冊驅動(告訴java程式即將連線的是哪個品牌的資料庫)
二:獲取連線池(表示JVM程序和資料庫程序之間的通道已開啟,使用完成之後要關閉通道)
三:獲取資料庫操作物件(專門執行sql語句的物件)
四:執行sql語句(DQL,DML...)
五:處理查詢結果集(只有當第四步執行的是select語句的時候,才有第五步查詢並查集)
六:釋放資源(使用完資源之後一定要關閉資源,java和資料庫屬於程序間的通訊,開啟之後一定要關閉)
import java.sql.Driver; import java.sql.DriverManage; import java.sql.SQLException; import java.sql.Connetion; public class JDBCtest01{ public static void main(string[] args{ statement stmt =null; Connetion conn=null; try( //1.註冊驅動 Driver driver = newcom.mysql.jdbc.Driver();//多型,父型別引用指向子型別物件。 DriverManage.registerDriver(driver); //2.獲取連線 string url=”..."; string uesr="..."; string password="..."; conn= DriverManager.getConntion(url,user,password); system.out.println("資料庫連線物件 ="+ conn) //3.獲取資料庫操作物件(Statement專門執行sql語句的) stmt = conn.createStatement(); //4.執行sql string sql =''insert into dept(deptno,dname,loc) values(50,'人事部','北京')"; //專門執行DML語句的(insert delete update) //返回值是"影響資料庫中的記錄條數" int count =stmt.executeupdate(sql); system.out.println(count == 1? "儲存成功" : "儲存失敗"); }catch{SQLException e){ e.printStackTrace(); }finally{ //6.釋放資源,為了保證資源一定釋放在finally語句塊中關閉資源,並且要遵循從小到大依次關閉,分別對其try...catch try{ if(stmt !=null){ stmt.close(); }catch(SQLExcetion e){ e.printStackTrace(); } try{ if(conn!=null){ conn.close(); }catch(SQLExcetion e){ e.printStackTrace(); } } } } } }
驅動載入我們一般不這麼寫,一般採用如下反射機制
Class.forname("com.mysql.jdbc.Driver");
catch(ClassNotFoundExcetion e){ e.printstackTrack(); }
還要丟擲如上的異常
還可以使用資源繫結器繫結配置檔案