版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、Java通過JDBC連接數據庫的方法和實例演示什么是JDBC? JDBC(Java Data Base Connectivity,java數據庫連接)是一種用于執(zhí)行SQL語句的Java API,可以為多種關系數據庫提供統(tǒng)一訪問,它由一組用Java語言編寫的類和接口組成。JDBC提供了一種基準,據此可以構建更高級的工具和接口,使數據庫開發(fā)人員能夠編寫數據庫應用程序。 JDBC操作不同的數據庫僅僅是連接方式上的差異而已。這樣,Java編寫的程序就不依賴于具體的數據庫。 在JDBC中,所有的類和接口都保存在java.sql包中。在此包中,規(guī)定了大量的接口 JDBC實際上是一個標準,數據庫生產商,只要
2、是想支持Java,肯定要符合JDBC規(guī)范什么是JDBC? 在數據庫編程中,以SQL語句作為操作標準 程序經常使用JDBC做以下操作: #與一個數據庫建立連接 #向已連接的數據庫發(fā)送SQL語句 #處理SQL語句返回的結果連接數據庫的兩種方式 方式一:建立JDBC-ODBC橋接器 方式二:加載純Java數據庫驅動程序程序數據庫JDBC 如果要使用數據庫就要添加數據庫的驅動,不同的數據庫有不用的驅動,這里就不一一說明。 驅動程序是需要單獨配置的,往往是以一組jar包的形式出現; 也就是說,我們要進行相關的開發(fā),就要引入jar包。配置classpath。 添加jar程序驅動包的方法在這里:http:/
3、 在使用JDBC編程時需要連接數據庫,導入JAR包是必須的,導入其它的jar包方法同樣如此,導入的方法是: 打開eclipse 1.右擊要導入jar包的項目,點properties 2.左邊選擇java build path,右邊選擇libraries 3.選擇add External jars 4.選擇jar包 確定后就行了。先把先把jar包放在項目的目錄下,包放在項目的目錄下,通過添加通過添加jar包,是使用相對地址的,包,是使用相對地址的,這樣把項目復制到其它電腦也可以用這樣把項目復制到其它電腦也可以用導入外部的導入外部的jar包,是絕對地址,包,是絕對地址,如果項目要復制到其它電腦又要
4、重新導入如果項目要復制到其它電腦又要重新導入數據庫的操作過程 打開數據庫的服務 連接數據庫,一般需要用戶名,密碼 操作數據庫:創(chuàng)建表,查詢表,增刪改等操作 關閉數據庫JDBC的主要操作類及接口 java.sql.DriverManager 描述:用于管理JDBC驅動程序 是一個最常用的類,使用它可以獲得一個數據庫的連接public static Connection getConnection(String url)throws SQLExceptionpublic static Connection getConnection(String url,String user,String pa
5、ssword)throws SQLException java.sql.Connection 描述:用于建立與特定數據庫的連接,一個連接就是一個會話,建立連接之后便可以執(zhí)行SQL語句和獲得檢索結果 每一個Connection的實例化對象都表示一個數據庫的連接JDBC的主要操作類及接口 java.sql.Statement 描述:一個Statement對象用于執(zhí)行靜態(tài)SQL語句,并獲得語句執(zhí)行之后產生的結果 用在數據庫的操作中 java.sql.PreparedStatement 描述:創(chuàng)建一個可以編譯的SQL語句對象,該對象可以被多次運行,以提高執(zhí)行的效率。該接口是Statement接口的子接
6、口 用在數據庫的操作中 java.sql.CallableStatement 描述:用于執(zhí)行SQL存儲過程JDBC的主要操作類及接口 java.sql.ResultSet 描述:用于創(chuàng)建表示SQL語句檢索結果的結果集。用戶通過結果集完成對數據庫的訪問 java.sql.Date 描述:是java.util.Date的一個子集,用于表示與SQLDATE相同的日期類型。不包括時間。 java.sql.TimeStemp 用于表示SQL時間戳,并增加了一個能表示納秒的時間域例子 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:/主機名稱:連接端口/數據庫的名稱?參數=值/ 避免中文亂碼要指定useUnicode和characterEncoding/ 執(zhí)行數據庫操作之前要在數
8、據庫管理系統(tǒng)上創(chuàng)建一個數據庫,名字自己定,/ 下面語句之前就要先創(chuàng)建javademo數據庫 String url = jdbc:mysql:/localhost:3306/javademo? + user=root&password=root&useUnicode=true&characterEncoding=UTF8; try / 之所以要使用下面這條語句,是因為要使用MySQL的驅動,所以我們要把它驅動起來,/ 可以通過Class.forName把它加載進去,也可以通過初始化來驅動起來,下面三種形式都可以 Class.forName(com.mysql.jdbc.D
9、river);/ 動態(tài)加載mysql驅動/ or:/ com.mysql.jdbc.Driver driver = new com.mysql.jdbc.Driver();/ or:/ new com.mysql.jdbc.Driver(); System.out.println(成功加載MySQL驅動程序);/ 一個Connection代表一個數據庫連接 conn = DriverManager.getConnection(url);/ Statement里面帶有很多方法,比如executeUpdate可以實現插入,更新和刪除等 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語句會返回一個受影響的行數,如果返回-1就沒有成功 if (result != -1) System.out.println(創(chuàng)建數據表成功); 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會返回結果的集合,否則返回空值 System.out.println(學號t姓名); while (rs.next() System.out .println(rs.getString(1) + t + rs.getString(2);/ 入如果返回的是int類型可以用get
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度個人房屋租賃定金協(xié)議及租賃合同終止補償條款2篇
- 2025年廣東高州市鑒龍水務建設投資集團有限公司招聘筆試參考題庫附帶答案詳解
- 2025版企業(yè)員工股權激勵協(xié)議(限制性股權實施)3篇
- 2025年度個人反擔保財產保全執(zhí)行實施合同
- 2025年全球及中國雙相抽提修復系統(tǒng)行業(yè)頭部企業(yè)市場占有率及排名調研報告
- 2025年全球及中國商用卡車機電開關行業(yè)頭部企業(yè)市場占有率及排名調研報告
- 2025年度二零二五年度高端個人雇傭員工勞動合同標準化范本4篇
- 探索現代青年教育的創(chuàng)新之路
- 2024食品行業(yè)食品安全風險評估與管控合同模板3篇
- 小學數學教育中的個性化學習與自主學習結合實踐
- 高考日語基礎歸納總結與練習(一輪復習)
- 《預防犯罪》課件
- 【企業(yè)作業(yè)成本在上海汽車集團中的應用研究案例7300字(論文)】
- 高中物理答題卡模板
- 化學用語專項訓練
- 芳香植物與芳香療法講解課件
- 不孕癥診斷、治療新進展課件
- 學校食堂食品質量控制方案
- 天津2021公需課量子信息技術答案
- 切實加強領導干部的作風建設課件
評論
0/150
提交評論