推薦教程:java教程
1、加載驅動
在連接數(shù)據(jù)庫之前,需要加載數(shù)據(jù)庫的驅動到JVM(Java虛擬機),這需要通過java.lang.Class類的靜態(tài)方法forName(String className)實現(xiàn).
例如:
//加載Oracle的驅動 try{ Class.forName("oracle.jdbc.OracleDriver"); }catch(ClassNotFoundException e){ System.out.println("找不到程序驅動類,加載驅動失敗!"); e.printStackTrace(); }
加載成功后,會將驅動類的實例注冊到DriverManager類中。
2、創(chuàng)建數(shù)據(jù)庫的連接
想連接數(shù)據(jù)庫,需要向java.sql.DriverManager請求并獲得Connection
對象,該對象就代表一個數(shù)據(jù)庫的連接。
使用DriverManager的getConnection(url,uname,upass)
傳入數(shù)據(jù)庫的路徑,用戶名,密碼獲得一個連接
Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@192.168.31.50:8080:orcl","uname","upass");
3、創(chuàng)建一個Statement
要執(zhí)行SQL語句,必須獲得java.sql.Statement實例,Statement實例分為以下3種類型:
1.執(zhí)行靜態(tài)語句,通常通過Statement實例實現(xiàn)。
Statement st = conn.createStatement();
2.執(zhí)行動態(tài)語句,通常通過PreparedStatement實現(xiàn)。
PreparedStatement ps = conn.prepareStatement(sql);
3.執(zhí)行數(shù)據(jù)庫存儲過程.通常通過CallableStatement實現(xiàn)
CallableStatement cs = conn.prepareCall("{CALL demoSp(?,?)}");
4、執(zhí)行sql語句
ResultSet executeQuery(sql)
適用于遍歷多個結果,插入集合,返回一個結果集,可以用.next對該對象進行遍歷,使用getString("字段名")獲取字段值
int executeUpdate(sql)
適用于Update,insert或delete語句以及sqlDDL語句,例如建表和刪表等等,返回被改變的條數(shù)
5、關閉JDBC對象
關閉順序要和聲明順序相反
1.關閉記錄集
2.關閉聲明
3.關閉連接對象
if(rs != null){ rs.close(); }