java通過(guò)JDBC鏈接MYSQL數(shù)據(jù)庫(kù)_第1頁(yè)
java通過(guò)JDBC鏈接MYSQL數(shù)據(jù)庫(kù)_第2頁(yè)
java通過(guò)JDBC鏈接MYSQL數(shù)據(jù)庫(kù)_第3頁(yè)
java通過(guò)JDBC鏈接MYSQL數(shù)據(jù)庫(kù)_第4頁(yè)
java通過(guò)JDBC鏈接MYSQL數(shù)據(jù)庫(kù)_第5頁(yè)
已閱讀5頁(yè),還剩12頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、Java通過(guò)JDBC連接數(shù)據(jù)庫(kù)的方法和實(shí)例演示什么是JDBC? JDBC(Java Data Base Connectivity,java數(shù)據(jù)庫(kù)連接)是一種用于執(zhí)行SQL語(yǔ)句的Java API,可以為多種關(guān)系數(shù)據(jù)庫(kù)提供統(tǒng)一訪問(wèn),它由一組用Java語(yǔ)言編寫的類和接口組成。JDBC提供了一種基準(zhǔn),據(jù)此可以構(gòu)建更高級(jí)的工具和接口,使數(shù)據(jù)庫(kù)開(kāi)發(fā)人員能夠編寫數(shù)據(jù)庫(kù)應(yīng)用程序。 JDBC操作不同的數(shù)據(jù)庫(kù)僅僅是連接方式上的差異而已。這樣,Java編寫的程序就不依賴于具體的數(shù)據(jù)庫(kù)。 在JDBC中,所有的類和接口都保存在java.sql包中。在此包中,規(guī)定了大量的接口 JDBC實(shí)際上是一個(gè)標(biāo)準(zhǔn),數(shù)據(jù)庫(kù)生產(chǎn)商,只要

2、是想支持Java,肯定要符合JDBC規(guī)范什么是JDBC? 在數(shù)據(jù)庫(kù)編程中,以SQL語(yǔ)句作為操作標(biāo)準(zhǔn) 程序經(jīng)常使用JDBC做以下操作: #與一個(gè)數(shù)據(jù)庫(kù)建立連接 #向已連接的數(shù)據(jù)庫(kù)發(fā)送SQL語(yǔ)句 #處理SQL語(yǔ)句返回的結(jié)果連接數(shù)據(jù)庫(kù)的兩種方式 方式一:建立JDBC-ODBC橋接器 方式二:加載純Java數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序程序數(shù)據(jù)庫(kù)JDBC 如果要使用數(shù)據(jù)庫(kù)就要添加數(shù)據(jù)庫(kù)的驅(qū)動(dòng),不同的數(shù)據(jù)庫(kù)有不用的驅(qū)動(dòng),這里就不一一說(shuō)明。 驅(qū)動(dòng)程序是需要單獨(dú)配置的,往往是以一組jar包的形式出現(xiàn); 也就是說(shuō),我們要進(jìn)行相關(guān)的開(kāi)發(fā),就要引入jar包。配置classpath。 添加jar程序驅(qū)動(dòng)包的方法在這里:http:/

3、 在使用JDBC編程時(shí)需要連接數(shù)據(jù)庫(kù),導(dǎo)入JAR包是必須的,導(dǎo)入其它的jar包方法同樣如此,導(dǎo)入的方法是: 打開(kāi)eclipse 1.右擊要導(dǎo)入jar包的項(xiàng)目,點(diǎn)properties 2.左邊選擇java build path,右邊選擇libraries 3.選擇add External jars 4.選擇jar包 確定后就行了。先把先把jar包放在項(xiàng)目的目錄下,包放在項(xiàng)目的目錄下,通過(guò)添加通過(guò)添加jar包,是使用相對(duì)地址的,包,是使用相對(duì)地址的,這樣把項(xiàng)目復(fù)制到其它電腦也可以用這樣把項(xiàng)目復(fù)制到其它電腦也可以用導(dǎo)入外部的導(dǎo)入外部的jar包,是絕對(duì)地址,包,是絕對(duì)地址,如果項(xiàng)目要復(fù)制到其它電腦又要

4、重新導(dǎo)入如果項(xiàng)目要復(fù)制到其它電腦又要重新導(dǎo)入數(shù)據(jù)庫(kù)的操作過(guò)程 打開(kāi)數(shù)據(jù)庫(kù)的服務(wù) 連接數(shù)據(jù)庫(kù),一般需要用戶名,密碼 操作數(shù)據(jù)庫(kù):創(chuàng)建表,查詢表,增刪改等操作 關(guān)閉數(shù)據(jù)庫(kù)JDBC的主要操作類及接口 java.sql.DriverManager 描述:用于管理JDBC驅(qū)動(dòng)程序 是一個(gè)最常用的類,使用它可以獲得一個(gè)數(shù)據(jù)庫(kù)的連接public static Connection getConnection(String url)throws SQLExceptionpublic static Connection getConnection(String url,String user,String pa

5、ssword)throws SQLException java.sql.Connection 描述:用于建立與特定數(shù)據(jù)庫(kù)的連接,一個(gè)連接就是一個(gè)會(huì)話,建立連接之后便可以執(zhí)行SQL語(yǔ)句和獲得檢索結(jié)果 每一個(gè)Connection的實(shí)例化對(duì)象都表示一個(gè)數(shù)據(jù)庫(kù)的連接JDBC的主要操作類及接口 java.sql.Statement 描述:一個(gè)Statement對(duì)象用于執(zhí)行靜態(tài)SQL語(yǔ)句,并獲得語(yǔ)句執(zhí)行之后產(chǎn)生的結(jié)果 用在數(shù)據(jù)庫(kù)的操作中 java.sql.PreparedStatement 描述:創(chuàng)建一個(gè)可以編譯的SQL語(yǔ)句對(duì)象,該對(duì)象可以被多次運(yùn)行,以提高執(zhí)行的效率。該接口是Statement接口的子接

6、口 用在數(shù)據(jù)庫(kù)的操作中 java.sql.CallableStatement 描述:用于執(zhí)行SQL存儲(chǔ)過(guò)程JDBC的主要操作類及接口 java.sql.ResultSet 描述:用于創(chuàng)建表示SQL語(yǔ)句檢索結(jié)果的結(jié)果集。用戶通過(guò)結(jié)果集完成對(duì)數(shù)據(jù)庫(kù)的訪問(wèn) java.sql.Date 描述:是java.util.Date的一個(gè)子集,用于表示與SQLDATE相同的日期類型。不包括時(shí)間。 java.sql.TimeStemp 用于表示SQL時(shí)間戳,并增加了一個(gè)能表示納秒的時(shí)間域例子 import java.sql.DriverManager; import java.sql.ResultSet; imp

7、ort java.sql.SQLException; import java.sql.Connection; import java.sql.Statement;public class MysqlDemo public static void main(String args) throws Exception Connection conn = null; String sql;/ MySQL的JDBC URL編寫方式:jdbc:mysql:/主機(jī)名稱:連接端口/數(shù)據(jù)庫(kù)的名稱?參數(shù)=值/ 避免中文亂碼要指定useUnicode和characterEncoding/ 執(zhí)行數(shù)據(jù)庫(kù)操作之前要在數(shù)

8、據(jù)庫(kù)管理系統(tǒng)上創(chuàng)建一個(gè)數(shù)據(jù)庫(kù),名字自己定,/ 下面語(yǔ)句之前就要先創(chuàng)建javademo數(shù)據(jù)庫(kù) String url = jdbc:mysql:/localhost:3306/javademo? + user=root&password=root&useUnicode=true&characterEncoding=UTF8; try / 之所以要使用下面這條語(yǔ)句,是因?yàn)橐褂肕ySQL的驅(qū)動(dòng),所以我們要把它驅(qū)動(dòng)起來(lái),/ 可以通過(guò)Class.forName把它加載進(jìn)去,也可以通過(guò)初始化來(lái)驅(qū)動(dòng)起來(lái),下面三種形式都可以 Class.forName(com.mysql.jdbc.D

9、river);/ 動(dòng)態(tài)加載mysql驅(qū)動(dòng)/ or:/ com.mysql.jdbc.Driver driver = new com.mysql.jdbc.Driver();/ or:/ new com.mysql.jdbc.Driver(); System.out.println(成功加載MySQL驅(qū)動(dòng)程序);/ 一個(gè)Connection代表一個(gè)數(shù)據(jù)庫(kù)連接 conn = DriverManager.getConnection(url);/ Statement里面帶有很多方法,比如executeUpdate可以實(shí)現(xiàn)插入,更新和刪除等 Statement stmt = conn.createSta

10、tement(); sql = create table student(NO char(20),name varchar(20),primary key(NO); int result = stmt.executeUpdate(sql); / executeUpdate語(yǔ)句會(huì)返回一個(gè)受影響的行數(shù),如果返回-1就沒(méi)有成功 if (result != -1) System.out.println(創(chuàng)建數(shù)據(jù)表成功); sql = insert into student(NO,name) values(2012001,陶偉基); result = stmt.executeUpdate(sql); s

11、ql = insert into student(NO,name) values(2012002,周小俊); result = stmt.executeUpdate(sql); sql = select * from student; ResultSet rs = stmt.executeQuery(sql);/ executeQuery會(huì)返回結(jié)果的集合,否則返回空值 System.out.println(學(xué)號(hào)t姓名); while (rs.next() System.out .println(rs.getString(1) + t + rs.getString(2);/ 入如果返回的是int類型可以用get

溫馨提示

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

評(píng)論

0/150

提交評(píng)論