Java Web----Java Web的資料庫操作(一)
Java Web的資料庫操作
一、JDBC技術
1、JDBC簡介
JDBC是Java程式與資料庫系統通訊的標準API,它定義在JDK的API中,通過JDBC技術,Java程式可以非常方便地與各種資料庫互動,JDBC在Java程式與資料庫系統之間假期了一座橋樑。
JDBC由一組用Java語言編寫的類和介面組成,它對資料庫的操作提供了基本方法,但由於資料庫種類跟多且多有不同,所以對資料庫的細節操作由資料庫廠商進行實現,且廠商需要提供資料庫的驅動程式,下圖為Java程式與資料庫相互動的示意圖:
2、JDBC連線資料庫的過程
l 下載驅動包
在JDK中,不包含資料庫的驅動程式,使用JDBC操作資料庫需要實現下載資料庫廠商提供的驅動包,並匯入到開發環境中。
l 註冊資料庫驅動
連線資料庫前,需要將資料庫廠商提供的資料庫驅動註冊到JDBC的驅動管理器中,一般是通過將資料庫驅動類載入到JVM來實現的,例如連線MYSQL資料庫:
Class.forName(“com.mysql.jdbc.Driver”);
l 構建資料庫連線URL
URL由資料庫廠商制定,不同資料庫它的URL有所區別,但都符合一個基本的格式,即“JDBC協議+IP地址或域名+埠+資料庫名稱”,例如MYSQL資料庫為”jdbc:mysql://localhost:8080/test”。
前兩步中不同資料庫有所差別,不同資料庫連線請參考這篇文章:
l 獲取Connection物件
通過驅動管理器獲得資料庫的連線Connection,只有建立此物件後才可以對資料庫進行操作,方法如下:
DriverManager.getConnection(url , username , password);
下面是一個完整的連線資料庫的例子:
try { //載入資料庫驅動,註冊到去送管理器 Class.forName("com.mysql.jdbc.Driver"); String url = "jdbc:mysql://localhost:8080/test"; String username = "admin"; String password = "123456"; Connection conn = DriverManager.getConnection(url , username , password); if (conn != null) System.out.println("資料庫連線成功!"); else System.out.println("資料庫連線失敗!"); //完成後記得關閉資料庫連線 conn.close(); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); }
二、JDBC API
JDBC是Java程式操作資料庫的標準,它由一組用Java語言編寫的類和介面組成,Java通過JDBC可以對多種關係資料庫進行統一訪問。下面介紹主要類和介面的作用,詳細方法請參考J2SE的API。
1、 Connection介面
與特定資料庫的連線會話,只有獲得特定資料庫的連線物件才能訪問資料庫,操作資料庫中的資料表、檢視和儲存過程等。
方法宣告 |
說明 |
Close() |
立即釋放Connection物件的資料庫連線佔用的JDBC資源 |
Commit() |
提交事務,並釋放Connection物件當前持有的所有資料庫鎖 |
createStatement() |
建立Statement物件來將SQL語句傳送到資料庫 |
PreparedStatement |
將引數化的SQL語句預編譯並存儲在PreparedStatement物件中 |
2、DriverManager類
主要作用與使用者及驅動程式之間,它是JDBC中的管理層,通過它可以管理資料庫廠商提供的驅動程式,並建立應用程式與資料庫之間的連線。
方法宣告 |
說明 |
getConnection(String url) |
根據指定資料庫連線URL,建立Connection |
getConnection(String url , Properties info) |
根據指定資料庫連線URL及資料庫連線屬性資訊建立資料庫連線Connection,引數info為資料庫連線屬性 |
getConnection(url,un,pwd) |
根據指定資料庫連線URL,使用者名稱和密碼連線資料庫 |
getDrivers() |
獲取當前DriverManager中已載入的所有驅動程式 |
3、 Statement介面
Statement介面封裝了執行SQL語句和獲取查詢介面的基本方法。
方法宣告 |
說明 |
AddBatch(String sql) |
將SQL語句新增到Statement物件的當前命令列表中,用於SQL命令的批處理 |
clearBatch() |
清空Statement對喜愛那個的命令列表 |
Close() |
立即釋放Statement物件的資料庫和JDBC資源,而不是等待該物件自動關閉時執行 |
Execute(String sql) |
執行指定的SQL語句,若SQL返回結果,該方法返回true,否則返回false |
executeBatch() |
將一批SQL命令提交給資料庫執行,返回更新計陣列成的資料 |
executeQuery(String sql) |
執行查詢型別的sql語句,該方法返回查詢所獲取的結果集ResultSet |
executeUpdate(String sql) |
執行SQL語句中DML型別(insert、update、delete)的SQL語句,返回更新所影響的行數 |
getConnection() |
獲取生成Statement對喜愛那個的Connection物件 |
4、PreparedStatement介面
Statement介面封裝了JDBC執行SQL語句的方法,但在實際開發過程中,SQL語句往往需要將程式中的變數做查詢條件引數等。使用Statement介面進行操作過於繁瑣且存在安全缺陷。而PreparedStatement介面繼承與Statement介面,且對帶有引數SQL語句的執行操作進行了擴充套件。應用於PreparedStatement介面中的SQL語句可以使用佔位符”?”來代替SQL語句中的引數,然後再對其進行賦值。
方法宣告 |
說明 |
setBinaryStream(int x , InputStream s) |
將輸入流s作為SQL語句中的引數值,x為引數位置索引 |
setBoolean(int x , Boolean b) |
將布林值b作為SQL語句中的引數值,x為引數位置索引 |
SetByte |
…… |
setInt |
…… |
等等。。。。。。 |
…… |
5、ResultSet介面
ResultSet物件封裝了資料查詢的結果集,它包含了符合SQL語句的所有行,針對Java中的資料型別提供了一套getXXX()的方法,通過這些方法可以獲取每一行中的資料。ResultSet還提供了游標的功能,通過游標可以自由定位到某一行中的資料。
方法宣告 |
說明 |
Absolute(int row) |
游標移動到ReulstSet物件的給定行編號 |
afterLast() |
游標移動到最後一行後,如果結果集中不包含任何行,則該方法無效 |
beforFirst() |
立即釋放ResultSet對喜愛那個的資料庫和JDBC資源 |
deleteRow() |
刪除當前行 |
First() |
游標移動到第一行 |
getString(String columnLable) |
以String的方式獲取ResultSet物件當前行中指定列的值,引數為列名稱 |
getBinaryStream(String colunmLable) |
你懂得 |
getInt(String columnLable) |
你懂得 |
isClosed() |
判斷ResultSet對喜愛那個是否已關閉 |
Last() |
移動到最後一行 |
Next() |
移動到下一行,若新行無效則返回false |
Previous() |
移動到上一行,若新行無效則返回false |
相關推薦
Java Web----Java Web的資料庫操作(一)
Java Web的資料庫操作 一、JDBC技術 1、JDBC簡介 JDBC是Java程式與資料庫系統通訊的標準API,它定義在JDK的API中,通過JDBC技術,Java程式可以非常方便
6.JAVA語言基礎部分--資料庫操作
操作資料資料流程:得到Connecnt->獲取Statement物件->執行sql語句返回ResultSet 1.通過DriverManager.getConnection(“jdbc:sqlserver://127.0.0.1:1433;DatabaseName=temp2”, "sa", "
java最方便的資料庫操作
connDB.properties DB_CLASS_NAME=com.mysql.jdbc.Driver DB_URL=jdbc:mysql://127.0.0.1:3306/webdb?user=root&password=root&useUnicode=true
JAVA多執行緒資料庫操作
import java.io.*; import java.sql.*; public class ToOracle { public static void main(String[] args) { int n = 10;//每個執行緒執行的個數 //System.out.println("start a
Java Web 的金倉資料庫操作(一)--資料庫的連線
從今天開始進行金倉資料庫的大作業。首先宣告,金倉資料庫與現在主流的Oracle、MySQL、SQL Server等資料庫相比,還是有差距的,所以,如果不是特別需要使用金倉資料庫去完成一些工作或者特意練習自己修正Bug的能力,而只是作為入門去學習資料庫的知識,還是強烈不推薦金倉資料庫。博主希望讀者在閱
Java Web的資料庫操作
一、JDBC技術 1、JDBC簡介 JDBC是Java程式與資料庫系統通訊的標準API,它定義在JDK的API中,通過JDBC技術,Java程式可以非常方便地與各種資料庫互動,JDBC在Java程式與資料庫系統之間假期了一座橋樑。
java web資料庫操作
這是自己初期學習java mvc模式時整理的jdbc連線資料庫的程式碼,資料庫為mysql ConnDB是基礎類,封裝了連線資料庫需要的一些資訊。 package com.hsp.model; im
JAVA WEB JDBC連線資料庫
桂 林 理 工 大 學 實 驗 報 告 班級 軟體16-1班 學號 3162052051116 姓名 張識虔 同組實驗者 &
j ava程式設計師從笨鳥到菜鳥之(七)一—java資料庫操作
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
Java高級架構師(一)第13節:Spring MVC實現Web層開發
long true variable creat stp gis delete list java package com.sishuok.architecture1.customermgr.web; import org.springframework.beans.f
[原始碼和文件分享]基於JAVA WEB和MYSQL資料庫實現的大學圖書館管理系統APP
一、系統開發目的 幾年前的web2.0時代給我們帶來的衝擊還在擴大。緊接著的 iPhone 和 Android 平板電腦的日益流行,使得我們可以用一種很輕鬆的手勢,觸控,語言等方式與網際網路互動。根據調查顯示,移動裝置的佔有率會在幾年後超過傳統pc,Windows在2012年9月推出的最新Win
【java專案實戰】一步步教你使用MyEclipse搭建java Web專案開發環境(一)
首先,在開始搭建MyEclipse的開發環境之前,還有三步工具的安裝需要完成,只要在安裝配置成功之後才可以進入下面的java Web專案開發環境的搭建。 1、安裝工具 第一步,下載並
定時刪除一個月前web伺服器上的垃圾檔案(臨時檔案)使用 java 1.7 Files 進行操作
import java.io.File; import java.io.IOException; import java.nio.file.DirectoryStream; import java.nio.file.FileVisitResult; import java.ni
Java web後臺插入資料庫中文亂碼問題解決
前言:專案想要避免亂碼情況的出現,要保持伺服器、資料庫、專案、以及前端編碼一致。 一、專案以及前端編碼,設定。myeclipse--->右鍵專案--->Properties--->Resource--->Text file encoding-----
Java Web 學習筆記之十一:RestEasy統一處理異常
JBoss RestEasy框架配置異常統一處理 前提 利用JBoss restEasy框架搭建的restful java web後臺應用 希望通過統一的方式對restful介面丟擲的異常進行
新浪雲 雲應用sae 部署java Web專案 (附有資料庫)
有些時候,我們需要將我們的專案部署到雲端,進行遠端專案測試。本篇文章主要介紹使用新浪雲進行專案部署,使用外網進行專案測試。第一步: 首先,我們需要在新浪雲進行賬號註冊,新使用者註冊會有一定的獎勵(說白了就是省錢),註冊介面:第二步:點選進入控制檯,建立sae應用。第三步:建立
Java web訪問MySql資料庫分頁查詢
有時候我們查詢資料庫表時,但是很多時候表中的記錄很多,需要顯示出來的話怎麼辦?這時可以使用分頁的方法,就是指定從資料庫表的什麼位置開始查詢顯示,以及指定顯示的記錄數目。 Mysql資料庫提供了limit a,b的關鍵字,a是資料庫表的查詢起始位置,是個偏移量,b是指定本次查
Java web專案啟動後執行一次的方法
方法一、定義一個類,宣告一個方法,方法中呼叫需要啟動後執行的程式碼。 eg: public class InitProcess { @Autowired private ValidateCodeMapper validateCodeMapper; public
小型Java Web專案之DAO操作標準、DAO介面真實實現類、DAO代理實現類、DAO工廠
DAO模式的好處是資料訪問和業務邏輯分離,便於資料維護,業務邏輯不需要了解訪問細節。 DAO的組成: 1.DatabaseConnection:負責開啟和關閉資料庫; 2.VO:包含屬性以及其getter和setter方法; 3.DAO:定義操作的介面,
Java for Web學習筆記(十一):JSP(1)何為JSP
使用JSP 通java程式碼來編寫HTML很是繁瑣,通過使用JSTL(JSP標準標籤庫,JavaServer Pages™ Standard Tag Library),通過JSP來更便攜的實現。對JSP的支援Maven中包括javax.servlet.jsp-api、javax.servlet.jsp.js