更新時(shí)間:2019-11-15 13:43:21 來源:動(dòng)力節(jié)點(diǎn) 瀏覽2450次
我們開發(fā)程序數(shù)據(jù)庫(kù)是必不可少的,那么java如何連接數(shù)據(jù)庫(kù)呢?這時(shí)jdbc就派上用場(chǎng)了。JDBC的全稱是JavaDatabaseConnectivity,叫做Java數(shù)據(jù)庫(kù)連接。它包括了一組與數(shù)據(jù)庫(kù)交互的api,還有與數(shù)據(jù)庫(kù)進(jìn)行通信的驅(qū)動(dòng)程序。
接下來我們來學(xué)習(xí)如何編寫一個(gè)真正的JDBC程序。我們先來瀏覽一下它的步驟,然后我們?cè)诤竺娴拇a中作詳細(xì)地講解:
1、編寫JDBC驅(qū)動(dòng)有了驅(qū)動(dòng)就可以與數(shù)據(jù)庫(kù)打開一個(gè)通信通道
2、打開連接:需要使用DriverManager.getConnection()方法創(chuàng)建一個(gè)Connection對(duì)象,它代表與數(shù)據(jù)庫(kù)的物理連接
3、執(zhí)行查詢:需要使用類型聲明的對(duì)象建立并提交一個(gè)SQL語(yǔ)句到數(shù)據(jù)庫(kù)
4、從結(jié)果集中提取數(shù)據(jù):要求使用適當(dāng)?shù)年P(guān)于ResultSet.getXXX()方法來檢索結(jié)果集的數(shù)據(jù)
5、處理結(jié)果集:對(duì)得到的結(jié)果集進(jìn)行相關(guān)的操作
6、清理環(huán)境:需要明確地關(guān)閉所有的數(shù)據(jù)庫(kù)資源,釋放內(nèi)存
例子:首先建立個(gè)數(shù)據(jù)庫(kù),下面是jdbc的驅(qū)動(dòng)程序
importjava.sql.*;
publicclassJdbcTest{
//JDBC驅(qū)動(dòng)器名稱和數(shù)據(jù)庫(kù)地址
staticfinalStringJDBC_DRIVER="com.mysql.jdbc.Driver";
//數(shù)據(jù)庫(kù)的名稱為EXAMPLE
staticfinalStringDB_URL="jdbc:mysql://localhost/EXAMPLE";
//數(shù)據(jù)庫(kù)用戶和密碼
staticfinalStringUSER="root";
staticfinalStringPASS="";
publicstaticvoidmain(String[]args){
Connectionconn=null;
Statementstmt=null;
try{
//注冊(cè)JDBC驅(qū)動(dòng)程序
Class.forName("com.mysql.jdbc.Driver");
//打開連接
System.out.println("Connectingtodatabase...");
conn=DriverManager.getConnection(DB_URL,USER,PASS);
//執(zhí)行查詢
System.out.println("Creatingstatement...");
stmt=conn.createStatement();
Stringsql;
sql="SELECTid,name,ageFROMStudents";
ResultSetrs=stmt.executeQuery(sql);
//得到和處理結(jié)果集
while(rs.next()){
//檢索
intid=rs.getInt("id");
intage=rs.getInt("age");
Stringname=rs.getString("name");
//顯示
System.out.print("ID:"+id);
System.out.print(",Age:"+age);
System.out.print(",Name:"+name);
System.out.println();
}
//清理環(huán)境
rs.close();
stmt.close();
conn.close();
}catch(SQLExceptionse){
//JDBC操作錯(cuò)誤
se.printStackTrace();
}catch(Exceptione){
//Class.forName錯(cuò)誤
e.printStackTrace();
}finally{
//這里一般用來關(guān)閉資源的
try{
if(stmt!=null)
stmt.close();
}catch(SQLExceptionse2){
}
try{
if(conn!=null)
conn.close();
}catch(SQLExceptionse){
se.printStackTrace();
}
}
System.out.println("Goodbye!");
}
}
以上就是動(dòng)力節(jié)點(diǎn)java學(xué)院小編針對(duì)“Java與數(shù)據(jù)庫(kù)連接教程”的內(nèi)容進(jìn)行的回答,希望對(duì)大家有所幫助,如果對(duì)于學(xué)習(xí)Java的學(xué)習(xí)計(jì)劃,怎么學(xué)才有效率,或者學(xué)完如果找工作的問題,請(qǐng)?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。
零基礎(chǔ)自學(xué)java教程推薦
最新java視頻教程免費(fèi)下載(從入門到精通):http://m.ilovecolors.com.cn/video.html
零基礎(chǔ)java自學(xué)教程:http://m.ilovecolors.com.cn/tutorial_java_se/
相關(guān)推薦
零基礎(chǔ)學(xué)Java編程,這些內(nèi)容你一定要知道
學(xué)習(xí)Java編程了解一些免費(fèi)Java開發(fā)工具
新手自學(xué)Java編程需要多長(zhǎng)時(shí)間呢
相關(guān)閱讀
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)
初級(jí) 202925
初級(jí) 203221
初級(jí) 202629
初級(jí) 203743