path配置
通常問題有兩方面,一方面是路徑不對,另一方面是路徑前後标點符号不對(英文半角):
classpath .;%java_home%\lib; (注意:前面點号,分号,後面分号)
java_home c:\program files\java\jdk1.6.0_17 (注意:前後均無符号)
path %java_home%\bin; (注意:寫在原來變量值的最前面 前無符号,後為分号)
jdbc的全稱是java database connectivity,是一套面向對象的應用程式接口(api),制定了統一的通路各種關系資料庫的标準接口,為各個資料庫廠商提供了标準接口的實作。這東西能夠實作軟體的擴平台性。
jdbc是一種底層api,在通路資料庫是需要在業務邏輯中直接嵌入sql語句。
jdbc不能夠直接通路資料庫,必須依賴資料庫廠商提供的jdbc驅動程式完成以下三步工作1.同資料庫建立連接配接;2.向資料庫發送sql語句;3.處理從資料庫傳回的結果。
*jdbc驅動
1.jdbc-odbc橋連是指通過本地的obdc driver連接配接到rdbms上。
2.jdbc-native橋連通過調用本地的native程式實作資料庫連接配接,這種類型的驅動程式把客戶機api上的jdbc調用轉為oracle,sybase,informix,db2或者其它dbms的調用。
3.jdbc網絡驅動是一種完全利用java語言編寫的jdbc驅動。
4.本地協定驅動是一種完全利用java語言編寫的jdbc驅動,這種類型的驅動程式将jdbc調用直接轉換為dbms所使用的網絡協定。
#jdbc中常用接口
-driver接口
每種資料庫的驅動程式都應該提供一個實作java.sql.driver接口的類,簡稱driver類。
加載jdbc-odbc驅動:
class.forname("sun.jdbc.odbc.jdbcodbcdriver");
-drivermanager類
java.sql.drivermanager類負責管理jdbc驅動程式的基本服務,是jdbc的管理層,作用于使用者和驅動程式之間,負責跟蹤可用的驅動程式,并在資料和驅動程式之間建立連接配接。
(靜态方法)getconnection(string url,string user,string password)用來建立資料庫連接配接。
setlogintimeout(int seconds)用來設定每次連接配接資料庫的最長時間
println(string message)用來輸出指定消息到目前的jdbc日記流
-connection接口
java.sql.connection接口代表與特定資料庫的連接配接,在接連的上下文中可以執行sql語句并傳回結果,還可以通過getmetadata()方法獲得由資料庫提供的相關資訊。
createstatement()建立并傳回一個statement 執行個體,通常在執行無參數的sql語句是建立執行個體。
-statement接口
java.sql.statement接口用來執行靜态sql語句,并傳回執行結果。
對于insert,ipdate和delete語句,調用executeupdate(string sql)方法;對于select語句,則調用executequery(string sql)方法,并傳回一個永遠不能為null的resultset執行個體。
-preparedstatement接口
java.sql.preparedstatement接口繼承并擴充了statement接口,用來執行動态的sql語句,即包含參數的sql語句。
通過setxxx()方法為sql語句中的參數指派時,建議利用與參數類型比對的方法,也可以利用setobject()為各種類型指派。
preparedstetement ps=connection.preparedstatement("select * from table_name where id>? and (name=? or name=?)");
ps.setint(1,6);
ps.setstring(2,"馬先生");
ps.setobject(3,"李先生");
resultset rs=ps.executequery();
clearparameters()清除目前參數的值。
-callablestatement接口
java.sql.callablestatement接口繼承并擴充preparedstatement接口,用來執行sql的存儲過程。
-resultset接口
java.sql.resultset接口類似于一個資料表,通過該接口的執行個體可以獲得檢索結果集,以及對應資料表的相關資訊,resultset執行個體通過執行查詢資料庫的語句生成。
next()方法可以将指針移動到下一行,傳回bool類型。隻能疊代一次!
getxxx()方法均有兩個重載方法,分别根據列的索引号和列的名稱檢索列值。
first(),傳回bool值
last(),傳回bool值
previous()将指針移動到上一行,傳回bool值
beforefirst()
afterlast()
absolute()移動到指定行,int>0向下移動,int<0,向後移動
relative()相對目前位置移動到指定行,int>0向下移動,int<0,向後移動
getrow()目前行索引編号
findcolumn()檢視指定列名的索引編号
isbeforefirst()檢視指針是否處于執行個體開頭,傳回bool
isfirst()檢視指針是否處于第一行,傳回bool
deleterow()删除目前行,執行該方法後,在執行close()之後才會同步到資料庫