Java—数据库技术
??????? JDBC(Java Database Connection,Java數(shù)據(jù)庫連接)是一種用于執(zhí)行SQL語句的JavaAPI(應用程序設計接口),它由一些Java語言寫的類和界面組成。JDBC提供了一種標準的應用程序設計接口,使得開發(fā)人員使用Java語言開發(fā)完整的數(shù)據(jù)庫應用程序變得極為簡單。通過JDBC,開發(fā)人員幾乎可以將SQL語句傳遞給任何一種數(shù)據(jù)庫,而無需為各種數(shù)據(jù)庫編寫單獨的訪問程序。JDBC可以自動將SQL語句傳遞給相應的數(shù)據(jù)庫管理系統(tǒng)。
??????? JDBC擴展了Java的功能,例如在Applet中應用JDBC,可以實現(xiàn)與遠程數(shù)據(jù)庫的連接,實現(xiàn)不同平臺數(shù)據(jù)庫之間的對話。簡單地說,JDBC完成下面三個操作:
?????? (1) 與一個數(shù)據(jù)庫建立連接。
?????? Connection con = DriverManager.getConnection("jdbc:odbc:CallCenter","sa","");
???????(2) 向數(shù)據(jù)庫發(fā)送SQL語句。
??????? stmt = con.createStatement();
rs = stmt.executeQuery("SELECT CID,CPin from tCustomer WHERE CID='z1'");??
????? (3) 處理數(shù)據(jù)庫返回的結果。
while(rs.next())
{
? String theInt = rs.getString("CID");
? String str = rs.getString("CPin");
?????? ...
}
??????? JDBC的接口分為兩個層次:一個是面向程序開發(fā)人員的JDBC API;另外一個是底層的JDBC Driver API。JDBC API 被描述成為一組抽象的Java接口,應用程序可以對某個數(shù)據(jù)庫打開連接,執(zhí)行SQL語句并且處理結果。最重要的接口如下:
??????? java.sql.DriverManager:處理驅動的調入并且對產(chǎn)生新的數(shù)據(jù)庫連接提供支持。
??????? java.sql.Connection:代表對特定數(shù)據(jù)庫的連接。
??????? java.sql.Statement:代表一個特定的容器,以對一個特定的數(shù)據(jù)庫執(zhí)行SQL語句。
??????? java.sql.ResultSet:控制對一個特定語句的行數(shù)據(jù)的存取。
??????? 其中java.sql.Statement又有兩個子類型:
?????? (1)? java.sql.PreparedStatement:用于執(zhí)行預編譯的SQL語句。
?????? (2)? java.sql.CallableStatement:用于執(zhí)行對一個數(shù)據(jù)庫內嵌過程的調用。
??????? JDBC Driver API是指java.sql.Driver接口,封裝了不同數(shù)據(jù)庫的驅動程序(像Access、Foxpro、SQL Server等)。由于它是數(shù)據(jù)庫底層處理,所以必須提供對java.sql.Connection、java.sql. Statement、java.sql.PreparedStatement和java.sql.ResultSet的實現(xiàn)。
1? 數(shù)據(jù)庫訪問的步驟
編寫數(shù)據(jù)庫訪問程序的步驟如下:
(1) 引入java.sql的包。
import java.sql.*;
(2) 聲明變量。
Statement stmt;
PreparedStatement pstmt;
ResultSet rs;
(3) 加載驅動程序。
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
(4) 連接數(shù)據(jù)庫。
Connection con = DriverManager.getConnection("jdbc:odbc:STU";,"","");
(5) 執(zhí)行查詢操作。
rs = stmt.executeQuery("SELECT 學號,姓名,班級 from Xuesheng WHERE 班級='025'");
...
pstmt = con.prepareStatement("UPDATE Xuesheng SET 班級 = ? WHERE 班級 = ?");?
pstmt.setString(1,"計算機");
pstmt.setString(2,"025");
pstmt.executeUpdate();
...
(6) 關閉數(shù)據(jù)庫。
con.close();
?
轉載于:https://www.cnblogs.com/feitiannengdou/p/5477757.html
總結
以上是生活随笔為你收集整理的Java—数据库技术的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: js 实现图片旋转角度
- 下一篇: java美元兑换,(Java实现) 美元