一名java培訓生的學習筆記(基礎部分2).doc_第1頁
一名java培訓生的學習筆記(基礎部分2).doc_第2頁
一名java培訓生的學習筆記(基礎部分2).doc_第3頁
一名java培訓生的學習筆記(基礎部分2).doc_第4頁
一名java培訓生的學習筆記(基礎部分2).doc_第5頁
已閱讀5頁,還剩70頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第十三章 2007年6月17日 星期日授課教師:老劉學生: 王洪峰第一節(jié) HashMap類常見的方法及其用法public class Test public static void main(String args) /創(chuàng)建5個Bean的對象b1-b5并對它們進行初始化Bean b1=new Bean();b1.setAge(23);b1.setName(Bob);Bean b2=new Bean();b2.setAge(23);b2.setName(Bob);Bean b3=new Bean();Bean b4=new Bean();b4.setAge(30);b4.setName(Jack);Bean b5=new Bean();b5.setAge(29);b5.setName(wang);HashMap h=new HashMap();/創(chuàng)建HashMap類型對象h;/并調用put方法,將它們取個key名(外號),加入到Map中h.put(1,b1);h.put(2,b2);h.put(3,b3);h.put(4,b4);h.put(5,b5);h.remove(3);/調用remove()方法,將key值為3的元素移除HashMapSystem.out.println(h.size();/輸出Map中的元素數Bean temp=(Bean)h.get(5);/將key值為5的元素取出來,并恢復其Bean身份,并其引用返回給tempSystem.out.println(temp.getAge();System.out.println(temp.getName();/輸出key值為5的屬性值第二節(jié) equals方法和hashCode方法的重寫在處理兩個對象之間關系時,有時會需要判斷兩個對象是否相等,如果他們的引用指向的是同一個對象,那么它們是相等的。如Object中的equals方法。如果它們指向的是同一類型的不同對象,但是他們的屬性值是相等的,也就是說它們的內容是相等的,那么我們就需要重寫equals方法,例如:String中的equals方法就是Object中的equals方法的重寫。如果我們自己定義一個類,需要將自己寫的類型的兩個對象equals。那么我們就需要在該類中重寫Object中的equals方法。重寫完equals方法后還需要重寫hashCode方法。因為當我們用Hash容器(如HashMap、HashSet)裝載這些對象時,例如,將一個對象用add方法加入Set時,會產生一個HashCode,當我們又創(chuàng)建一個同類型內容相同的對象時,又變成另外一個HashCode了,它們在容器中的HashCode是隨機的生成的,那么你就無法取得該對象了。如果我們要判斷容器中是否裝進了某種類型的對象,那么就需要重寫hashCode方法,因為equals方法返回true的對象,它們的hashCode是相同的,重寫hashCode方法就是讓計算機在同一HashCode中尋找,否則計算機出于Hash容器的高效性考慮,不會去在已經存放該對象的hashCode中尋找,當然也就找不到了。重寫equals方法和hashCodepublic class Money /創(chuàng)建名叫Money這個類public int value = 0;/定義int型數據成員value,并初始化為0。public Money()/創(chuàng)建無參數的構造方法public Money(int i)/帶有參數的構造方法value = i;public boolean equals(Object obj)/重寫時需要注意重寫的方法定義的要求if (obj=null)/判斷形參的是否為空。如果是,返回false return false;if(this=obj)/判斷形參對象與調用該方法的當前對象是否指向同一對象,如果是返回true.return true;if(!(obj instanceof Money)/判斷形參對象是否是Money的實例,如果不是,返回false.return false;Money mo=(Money)obj;/將形參引用恢復成該對象的身份。if(mo.value!=this.value)/如果他們的內容不相等,返回false return false;return ture;如果都不是上面的情況返回truepublic int hashcode()/重寫hashcode方法,使它們的hashcode保持一致return value;我們在eclipse中測試一下:如果我們不重寫hashCode方法。那么輸出的將會是flase如果我們將每個對象都存放在同一hashCode中,那樣查找的效率就會很低,但是我們還可以利用String中的hashCode的算法,去重新寫hashCode方法。public int hashCode()String str=String.valueOf(value);/將整型的value轉化為String型的strreturn str.hashCode();/用String中的hashCode的算法,返回hashCode第十四章 2007年6月18日 星期一授課教師:老劉學生: 王洪峰第一節(jié) 如何創(chuàng)建一個文件對象有三種方式:1、File myfile=new File(“d:/java/a.txt”);2、File myfile1=new File(“d:/java”, a.txt”);3、File myfile2=new File(“myfile1”, b.txt”);File類中常見的方法舉例說明:import java.io.File;import java.io.IOException;/導入java.io包中的File和 IOException兩個類public class FileName public static void main(String args)File f1=new File(d:/java111);/創(chuàng)建一個文件對象f1f1.mkdir();/創(chuàng)建該文件對象的目錄File f=new File(d:/whjhg.txt);/創(chuàng)建一個文件對象fFile ff=new File(f1,www.txt);/創(chuàng)建一個文件對象ff,利用File中的構造方法,將其目錄設置為f1所指向的路徑/將文件名設置為www.txt。try /處理創(chuàng)建文件時可能出現的異常/如果兩個文件不存在則創(chuàng)建這2個文件ff.createNewFile();f.createNewFile(); catch (IOException e) /捕獲異常e.printStackTrace();System.out.println(ff.canRead();/ff所指向的這個文件是否可讀?System.out.println(ff.canWrite();/ ff所指向的這個文件是否可寫入?System.out.println(ff.exists();/ ff所指向的這個文件是否存在?System.out.println(ff.getPath();/輸出ff對象的路徑名System.out.println(ff.isHidden();/ff所指向的文件是否為隱藏文件?System.out.println(ff.isFile();/ff這個對象是一個文件嗎?System.out.println(f1.mkdir();/f1這個對象路徑創(chuàng)建成功了嗎?System.out.println(ff.isDirectory();/ff這個對象是目錄嗎?System.out.println(ff.lastModified();/ff所指向的這個文件的最后修改時間System.out.println(ff.length();/ff所指向的這個文件的大小是多少System.out.println(ff.delete();/刪除ff所指向的文件是否成功System.out.println(f.renameTo(f1);/是否成功的將f所指向的文件重命名為f1System.out.println(f.toString();/以字符串的形式將f對象返回在eclipse中測試一下結果:第二節(jié) 怎么樣將一個創(chuàng)建好的文件寫入一些內容import java.io.FileOutputStream;import java.io.IOException;import java.io.PrintStream;/導入java.io包中的FileOutputStream 、IOException 、PrintStreampublic class Output /創(chuàng)建名叫Output的類public void write(String filename)/創(chuàng)建一個帶有參數的無返回值的方法write/目的是將形參中所代表的路徑名文件寫入一些內容FileOutputStream fs=null;PrintStream ps=null;/分別創(chuàng)建兩個FileOutputStream、 PrintStream對象fs 和ps。/將它們初始化為nulltry /處理在寫入文件時可能出現的異常fs=new FileOutputStream(filename);/將fs的引用指向用該方法形參作為構造方法參數的FileOutputStream對象ps=new PrintStream(fs);/將ps的引用指向用fs作為構造方法參數的PrintStream對象ps.println(1234567890123);/調用ps對象中的println方法,將字符串1234567890123寫入到文件中System.out.println(文件寫入成功);/如果沒有出現異常,輸出 文件寫入成功。 catch (Exception e) /捕獲異常e.printStackTrace();finally/無論是否寫入成功,都應該將fs和ps所指向的文件關閉try if(ps!=null)ps.close(); catch (Exception e1) e1.printStackTrace();try if(fs!=null)fs.close(); catch (IOException e1) e1.printStackTrace();在eclipse中測試一下第三節(jié) 怎么樣讀取一個文件的內容import java.io.File;import java.io.FileInputStream;import java.io.IOException;/導入java.io包中的File、FileInputStream 、IOExceptionpublic class In /創(chuàng)建名叫In的類public String fun(String a)/創(chuàng)建帶有參數的,返回值類型為String的方法fun/其中形參a是字符串形式的文件路徑/該方法返回的是形參路徑所指向的文件內容File ff=new File(a);/創(chuàng)建用形參作為構造方法參數的File類型的對象ffFileInputStream fs=null;/創(chuàng)建FileInputStream對象fs,并初始化為nullbyte bb=new byte2;/創(chuàng)建byte型的數組bb,并指定長度為2,指定了每次讀取的字符數String con=;/創(chuàng)建一個String類型的變量con,用來儲存讀取文件的內容int n=0;/定義一個局部變量。初始化為0try/處理在讀取文件中可能存在的異常fs=new FileInputStream(ff);/將fs的引用指向用該方法形參作為構造方法參數的FileInputStream對象while(n!=-1)/以是否讀到文件尾為判斷條件,進行while循環(huán)if(n!=0)/如果n不等于0,將讀取bb數組中的n個字符/并將其內容放入到temp臨時字符串中String temp=new String(bb,0,n);/將內容累加到con中con+=temp;n=fs.read(bb);/用fs對象調用read方法將讀取出的字符個數賦給ncatch(Exception e)/捕獲異常e.printStackTrace();finally/無論是否出現異常都應該將文件關閉try /處理關閉文件時產生的異常 fs.close(); catch (IOException e1) /捕獲IOException異常e1.printStackTrace();return con;/返回調用該方法所讀取的文件內容我們在eclipse中測試一下,測試碼如圖:第四節(jié) 利用前兩個程序中的方法拷貝一個文件import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;/導入java.io包中的File、FileInputStream、FileOutputStream、IOException類 public class CopyFile /創(chuàng)建CopyFile類public void copy(String srcName, String desName) /創(chuàng)建copy方法,其形式參數分別為源文件和目的文件 File src = new File(srcName); File des = new File(desName);/分別由兩個形參作為File構造方法的參數,創(chuàng)建兩個File對象src和des FileInputStream fis = null; FileOutputStream fos = null;/分別聲明FileInputStream、FileOutputStream的對象fis和fos,并將其初始化為null try /處理在文件copy的時候所產生的異常 des.createNewFile();/創(chuàng)建形參des所指的目的文件 fis = new FileInputStream(src); fos = new FileOutputStream(des);/分別創(chuàng)建FileInputStream、FileOutputStream的對象fis和fos int n=0;/定義整形變量n,初始化為0 byte buf = new byte2;/創(chuàng)建byte型的數組bb,并指定長度為2,指定了每次讀取的字符數 while(n = fis.read(buf) != -1) /調用fis的read方法讀取源文件,并將其讀取的字符數量賦給n/定義循環(huán)條件為n!=-1(未讀到文件尾) fos.write(buf,0,n);/將每次讀取的內容寫入到目的文件中 catch(Exception e) /捕獲異常 e.printStackTrace(); finally /為了安全起見,分別處理在文件關閉時的異常 try if(fos!=null)fos.flush(); catch (IOException e1) e1.printStackTrace(); try if(fos!=null)fos.close(); catch (IOException e2) e2.printStackTrace(); try if(fis!=null)fis.close(); catch (IOException e3) e3.printStackTrace(); System.out.println(文件copy成功); 在eclipse中測試,測試碼如下圖:第十五章 2007年6月20日 星期三授課教師:老劉學生: 王洪峰第一節(jié) 與文件操作相關的一些程序實例一、實現FilenameFilter接口來過濾符合某些條件的文件或目錄。import java.io.File;import java.io.FilenameFilter;/導入java.io包中的File類和FilenameFilter接口public class JavaFilter implements FilenameFilter/創(chuàng)建JavaFilter類實現FilenameFilter接口public boolean accept(File dir,String name)/重寫接口中的accept方法,以實現FilenameFilter接口return name.endsWith(.java);/返回一以.java結尾字符串在eclipse中測試:二、讀取properties類型文件的內容:properties類型文件叫屬性文件,其中的內容不要寫中文,否則會讀出亂碼,它的作用是實現程序和程序之間、程序和服務器之間的信息交換。由于properties類型文件通常存放的是一些服務器的IP地址,或者存放程序實現所必須的目錄或文件,所以可以利用文件返回的字符串來使維護程序更加方便。下面舉一個讀取properties類型文件的內容的程序。我們首先在硬盤上創(chuàng)建一個test. properties.用記事本打開寫入內容如下圖其中url和name叫做標記,后面的部分叫內容import java.io.File;import java.io.FileInputStream;import java.util.Properties;/導入java.io包中的File和FileInputStream類/導入java.util中的Properties類public class ReadPro /創(chuàng)建ReadPro類 public String url = ; public String name = ; /定義.properties類型文件中的內容標記url和 name作為數據成員,初始化它們?yōu)閜ublic ReadPro() /在構造方法中完成讀取.propertie文件的操作/使其創(chuàng)建該類對象時就已經將.propertie文件的內容賦給該類的成員變量 try /處理在讀取文件中可能出現的異常 Properties props = new Properties(); /創(chuàng)建Properties類的對象 File f = new File(d:/Test/test. properties); /用.propertie文件路徑作為參數的構造方法創(chuàng)建File類對象f FileInputStream in = new FileInputStream(f);/將f作為FileInputStream構造方法的參數創(chuàng)建其對象in props.load(in);/將in作為參數用對象props調用Properties中的方法load/將文件讀取出來 in.close(); /關閉該文件 url = props.getProperty(url); name=props.getProperty(name);/用Properties類中的getProperty方法將標記作為參數,分別返回給數據成員 catch(Exception e) /捕獲異常 e.printStackTrace(); 我們在eclipse中測試。測試碼見下圖:第三節(jié) 線程一、基本概念:1、進程:通俗來講就是指正在被cpu執(zhí)行的代碼叫進程。2、線程:等待被cpu執(zhí)行的代碼叫線程。3、多線程:指的是在單個程序中可以同時運行多個不同的線程,執(zhí)行不同的任務。 由于cpu采用分時復用,每個線程都有機會得到執(zhí)行,每個都執(zhí)行1ms,我們看起來就像是同時執(zhí)行。二、創(chuàng)建線程:線程的所有活動都是通過線程的run()方法來實現的。在一個線程被建立并初始化以后, Java 的運行時系統(tǒng)就自動調用 run()方法,正是通過 run()方法才使得建立線程的目的得以實現。線程開始執(zhí)行時,從它的 run ()方法中執(zhí)行,這種方法是定義的線程的執(zhí)行起點,就像應用程序從 main()開始一樣。通常, run()方法是一個循環(huán),例如一個播放動畫的線程要循環(huán)顯示一系列圖片。有時, run() 方法會執(zhí)行一個時間較長的操作,例如下載并播放電影。有兩種方法可以構造自己的 run() 方法。下面我們將通過兩個例子來分別說明。1、通過繼承創(chuàng)建線程定義一個線程類,它繼承線程類 Thread 并重寫其中的方法 run ( ) ,由于 Java 只支持單繼承,用這種方法定義的類不能再繼承其他父類。啟動時調用start方法。舉例說明public class X1 extends Thread /創(chuàng)建類X1,繼承Thread類int i=1;/定義整型變量i,初始化值為1public void run()/重寫run方法while(i0)System.out.println(X1的 +i+);try /處理在線程sleep時所產生的異常X1.sleep(1000L);/為了測試時能看清楚,調用Thread類中的sleep方法/每秒輸出一個數字 catch (InterruptedException e) /捕獲異常e.printStackTrace();測試碼如圖:2、提供一個實現接口 Runnable 的類作為一個線程的目標對象,在初始化一個Thread 類或者 Thread 子類的線程對象時,把目標對象傳遞給這個線程實例,由該目標對象提供線程體 run ( )。這時,實現接口 Runnable 的類仍然可以繼承其他父類。舉例說明:public class X2 implements Runnable/創(chuàng)建X2類,實現Runnable接口int i=1;public void run()/重寫run方法以實現Runnable接口while(i0)System.out.println(X2的 +i+);try Thread.sleep(1000L); catch (InterruptedException e) / TODO 自動生成 catch 塊e.printStackTrace();測試碼入圖:3、兩種方法的比較 (1)直接繼承線程 Thread 類。不能再從其他類繼承,編寫簡單,可以直接操作線程。 (2)通過實現 Runnable 接口實現線程??梢詫?CPU 、代碼和數據分開,形成清晰的模型;還可以繼承其他類;保持程序風格的一致性和良好的擴展性。在具體應用中,采用哪種方法來構造線程體要視情況而定。通常,當一個線程已繼承了另一個類時,就只能用第二種方法來構造,即實現Runnable 接口。三、線程的狀態(tài):1、創(chuàng)建狀態(tài)(new Thread() 當一個線程處于創(chuàng)建狀態(tài)時,它僅僅是一個空的線程對象,系統(tǒng)不為它分配資源。2、可運行狀態(tài)( Runnable ) 當一個線程處于可運行狀態(tài)時,系統(tǒng)為這個線程分配了它所需的系統(tǒng)資源,安排其運行并調用線程運行方法,這樣就使得該線程處于可運行( Runnable )狀態(tài)。3、運行中狀態(tài)( Running ) 當一個線程處于可運行狀態(tài)時,系統(tǒng)為這個線程分配了它所需的系統(tǒng)資源, Java 的運行系統(tǒng)選中一個可運行狀態(tài)的線程,該線程占有 CPU 并轉為運行中狀態(tài)。4、不可運行狀態(tài)( Not Runnable ) 不可運行狀態(tài)也稱為阻塞狀態(tài)( Blocked )。由于某種原因(輸入輸出、等待消息或其他阻塞情況),系統(tǒng)不能執(zhí)行線程的狀態(tài)。這時即使處理器空閑,也不能執(zhí)行該線程。5、死亡狀態(tài)( Dead ) 線程執(zhí)行結束的狀態(tài)。存在兩種情況:自然撤消或是被停止。四、線程控制:1、設置線程的優(yōu)先級用Thread類中的setPriorty方法;例如:Thread.setPriorty(10);其中的參數10是設置為最高優(yōu)先級,1是最低優(yōu)先級。注意:要在線程啟動前設置優(yōu)先級。2、停止一個線程:一種方法是直接調用stop方法,但這不可靠,sun公司的文檔寫明不推薦的方法。另外一種就是自己寫個方法,讓線程該停止的時候調用該方法。例如:可在例一中添加fun方法:public class X1 extends Thread int i=1;public void run()while(i0)System.out.println(X1的 +i+);try X1.sleep(1000L); catch (InterruptedException e) / TODO 自動生成 catch 塊e.printStackTrace();public void fun()i=-1;System.out.println(X1 is Dead);測試碼入圖:3、啟動多個線程:在下圖中,我們雖然設置它們同樣的sleep時間,但是還是顯示出了不規(guī)律性,當多個線程都有機會執(zhí)行時,cpu想執(zhí)行哪個要靠它的心情決定。表現出來的隨機性,我們是無能為力的。4、當兩個線程同時對一個數據進行操作時,例如、一個線程向數組中寫數字,另外一個輸出,那么有可能出現還沒有寫入的時候就被輸出了。當我們不知道什么時間控制其停止的時候可以使用join方法。join方法是等待一個線程執(zhí)行完畢。public class Join /創(chuàng)建Join類,用來測試join方法int a=new int 10;/定義一個int型的數組a,其長度為10public static void main(String args) /創(chuàng)建main方法,作為程序入口 Join a=new Join();a.fun();/調用fun()方法,啟動內部類中的線程,為數組a初始化。for(int i=0;i10;i+) System.out.println(ai= *+a.ai); /輸出數組a的各個元素值public void fun()/創(chuàng)建fun方法XXX b=new XXX();/創(chuàng)建內部類對象bThread th=new Thread(b);th.start();/啟動線程try /調用join方法,使該線程結束再處理main方法th.join(); catch (InterruptedException e) / TODO 自動生成 catch 塊e.printStackTrace();class XXX implements Runnable/創(chuàng)建內部類XXX實現Runnable接口public void run()/重寫run方法實現Runnable接口for(int i=0;i后面輸入 open 1234 回車 */public class TestServerSocket1 public static void main(String args) throws Exception /安裝電話分機 ServerSocket server = new ServerSocket(1234); System.out.println(Server is listening.); /秘書守侯電話 Socket sock = server.accept(); server.close(); /發(fā)出指示 PrintStream ps = new PrintStream(sock.getOutputStream(); for(int i = 10; i 0; i-) ps.println(i + 每天寫500行代碼就能成JAVA高手.); /放下電話 ps.close(); sock.close(); /秘書接聽一個電話就下班了:) 第三部分 JDBC技術第一章 2007年6月29日 星期五授課教師:老劉學生:王洪峰第一節(jié) 基本概念及java.sql包中常見類和接口在JAVA程序中對數據庫的訪問是通過JDBC工具包來進行的。利用它可以使用SQL語句對任意一種數據庫進行訪問java.sql包中常見類和接口:1、Connection接口它代表數據庫的連接,并擁有創(chuàng)建SQL語句的方法,以及完成常規(guī)的SQL操作。2、類 DriverManager 該類管理一組 JDBC 驅動程序的基本服務以及創(chuàng)建數據庫的連接,它可以在任意時間顯式地加載 JDBC 驅動程序。例如,my.sql.Driver 是使用以下語句加載的: Class.forName(my.sql.Driver);在調用 getConnection 方法時,DriverManager 會試著從初始化時加載的那些驅動程序中查找合適的驅動程序。并返回一個Connection接口類型的連接。注意:getConnection方法是會拋出SQLException異常的,使用時候要try-catch或者throw 。3、接口 Statement用于執(zhí)行靜態(tài) SQL 語句并返回它所生成結果的對象。在默認情況下,同一時間每個 Statement 對象在只能打開一個 ResultSet 對象。因此,如果讀取一個 ResultSet 對象與讀取另一個交叉,則這兩個對象必須是由不同的 Statement 對象生成的。如果存在某個語句的打開的當前 ResultSet 對象,則 Statement 接口中的所有執(zhí)行方法都會隱式關閉它。提供用來執(zhí)行SQL語句的方法,返回SQL語句執(zhí)行的結果放在ResultSet對象中。4、接口 ResultSet 表示數據庫結果集的數據表,通常通過執(zhí)行查詢數據庫的語句生成。第二節(jié) 一個簡單的數據庫訪問程序在JAVA語言中,訪問數據庫的基本步驟是:首先加載JDBC驅動程序,建立與數據庫的連接,在建立與數據庫連接后執(zhí)行SQL語句,處理執(zhí)行結果,最后斷開連接,關閉數據庫。舉例說明:1、注冊驅動程序(如果使用簡單開發(fā)環(huán)境,就需要重新配置環(huán)境變量classpath=.;D:oracleora92jdbclibclasses12.jar,重啟)。Class.forName(oracle.jdbc.driver.OracleDriver);2、創(chuàng)建數據庫連接:創(chuàng)建與指定數據庫連接,需要使用DriverManager類中的getConnection()方法。如果成功與數據庫建立連接,則返回一個Connection對象,否則會拋出一個SQLException異常。使用該方法的語法格式如下:Connection conn=DriverManager. getConnection(url,user,password);Connectionconn=DriverManager.getConnection(jdbc:oracle:thin::1521:WHF612,scott,tiger其中參數url字符串表示數據庫的具體位置,其中的jdbc:oracle:thin表示與數據庫連接的方式,::1521表示數據庫的IP地址和端口號,:WHF612表示數據庫的名稱。后兩個參數user,password表示該數據庫的用戶名和密碼。3、創(chuàng)建SQL語句在建立與數據庫的連接并獲取連接對象后,就可以使用這個連接對象發(fā)送SQL語句。在JAVA中所有SQL語句都是由Statement對象發(fā)送到數據庫的。如果發(fā)送的SQL語句運行后產生結果,Statement對象調用方法后會將該結果返回給一個ResultSet對象。由于Statement是接口,沒有構造方法,不能實例化一個對象,所以需要使用Connection對象中的createStatement()方法。將該引用返回給Statement對象。Statement stmt = conn.createStatement();4、執(zhí)行SQL語句,處理執(zhí)行結果JDBC通過ResultSet對象接收結果,一個ResultSet對象包含了執(zhí)行SQL SELECT語句后返回的結果,而且還提供了對該結果的數據訪問??梢哉{用ResultSet對象中的next()方法讀取結果中的數據,如果有結果該方法返回true,否則返回false。因此可以使用該方法的返回值作為循環(huán)條件,訪問所有結果中的數據。ResultSet rs = stmt.executeQuery(SELECT STUDENTID,NAME,AGE FROM STUDENT );while (rs.next()String id = rs.getString(STUDENTID);String name = rs.getString(NAME);String age = rs.getString(AGE);String dept = rs.getString(DEPART);System.out.println(id + + name + + age + );5、善后工作:斷開連接,關閉數據庫等。分別利用ResultSet、Statement、Connection的close()方法,斷開連接,關閉數據庫rs.close();stmt.close();conn.close();注意:這里可能會在關閉連接時出現異常,需要處理6、測試首先在在數據庫中建表,并插入幾條數據,如下圖然后打開eclipse ,建立新項目,并將Oracle目錄下jdbclib文件夾中的classes12.jar復制到項目中的lib目錄中:接著 右鍵點擊項目名稱whf屬性java構建路徑選擇庫點擊添加jar選擇項目中的lib文件夾下的classes12.jar 確定。第三節(jié)一個稍微復雜的JDBC項目一、項目介紹:道里分公司的驢總想要搶南崗區(qū)炮子的地盤,密謀暗殺炮子情報組的重要人物,但苦于沒有他們的資料,無從下手。于是驢總委托你去秘密連接炮子集團的數據庫,來取得其情報組重要資料。發(fā)出狠話:“只有一周時間,完成不了任務,你小命不?!?。由于時間緊

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論