激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務器之家 - 編程語言 - JAVA教程 - Java程序連接數據庫的常用的類和接口介紹

Java程序連接數據庫的常用的類和接口介紹

2020-01-09 14:17goldensun JAVA教程

這篇文章主要介紹了Java程序連接數據庫的常用的類和接口,包括Connection類和Statement類等,需要的朋友可以參考下

編寫訪問數據庫的Java程序還需要幾個重要的類和接口。
DriverManager類

DriverManager類處理驅動程序的加載和建立新數據庫連接。DriverManager是java.sql包中用于管理數據庫驅動程序的類。通常,應用程序只使用類DriverManager的getConnection()靜態(tài)方法,用來建立與數據庫的連接,返回Connection對象:

?
1
static Connection getConnection(String url,String username,String password)


指定數據的URL用戶名和密碼創(chuàng)建數據庫連接對象。url的語法格式是:
    jdbc:<數據庫的連接機制>:<ODBC數據庫名>。
Connection類

Connection類是java.sql包中用于處理與特定數據庫連接的類。Connection對象是用來表示數據庫連接的對象,Java程序對數據庫的操作都在這種對象上進行。Connection類的主要方法有:

  • Statement createStatement():創(chuàng)建一個Statement對象。
  • Statement createStatement(int resultSetType,int resultSetConcurrency):創(chuàng)建一個Statement對象,生成具有特定類型的結果集。
  • void commit():提交對數據庫的改動并釋放當前持有的數據庫的鎖。
  • void rollback():回滾當前事務中的所有改動并釋放當前連接持有的數據庫的鎖。
  • String getCatalog():獲得連接對象的當前目錄。
  • boolean isClose():判斷連接是否已關閉。
  • boolean isReadOnly():判斷連接是否為只讀模式。
  • void setReadOnly():設置連接為只讀模式。
  • void close():釋放連接對象的數據庫和JDBC資源。

Statement類

Statement類是java.sql包中用于在指定的連接中處理SQL語句的類。數據庫編程的要點是在程序中嵌入SQL命令。程序需要聲明和創(chuàng)建連接數據庫的Connection對象,并讓該對象連接數據庫。調用類DriverManager的靜態(tài)方法getConnection()獲得Connection對象,實現程序與數據庫的連。然后,用Statement類聲明SQL語句對象,并調用Connection對象的createStatement()方法,創(chuàng)建SQL語句對象。例如,以下代碼創(chuàng)建語句對象sql:

?
1
2
3
4
Statement sql = null;
try{
  sql = con.createStatement();
}catch(SQLException e){}


ResultSet類

有了SQL語句對象后,調用語句對象的方法executeQuery()執(zhí)行SQL查詢,并將查詢結果存放在一個用ResultSet類聲明的對象中,例如,以下代碼讀取學生成績表存于rs 對象中:

?
1
ResultSet rs = sql.executeQuery(“SELECT * FROM ksInfo”);


ResultSet對象實際上是一個由查詢結果數據的表,是一個管式數據集,由統(tǒng)一形式的數據行組成,一行對應一條查詢記錄。在ResultSet對象中隱含著一個游標,一次只能獲得游標當前所指的數據行,用next方法可取下一個數據行。用數據行的字段(列)名稱或位置索引(自1開始)調用形如getXXX()方法獲得記錄的字段植 。以下是ResultSet對象的部分方法:

  • byte getByte(int columnIndex):返回指定字段的字節(jié)值。
  • Date getDate(int columnIndex):返回指定字段的日期值。
  • float getFloat(int columnIndex):返回指定字段的浮點值。
  • int getInt(int columnIndex):返回指定字段的整數值。
  • String getString(int columnIndex):返回指定字段的字符串值。
  • double getDouble(String columnName):返回指定字段的雙精度值。
  • long getLong(String columnName):返回指定字段的long型整值。
  • boolean next():返回是否還有下一字段。

以上方法中的columnIndex是位置索引,用于指定字段,columnName是字段名。

用戶需要在查詢結果集上瀏覽,或前后移動、或顯示結果集的指定記錄,這稱為可滾動結果集。程序要獲得一個可滾動結果集,只要在獲得SQL的語句對象時,增加指定結果集的兩個參數即可。例如,以下代碼:

?
1
2
Statement stmt = con.createStatement(type,concurrency);
ResultSet rs = stmt.executeQuery(SQL語句)


語句對象stmt的SQL查詢就能得到相應類型的結果集。
int 型參數type決定可滾動集的滾動方式:

  • ResultSet.TYPE_FORWORD_ONLY,結果集的游標只能向下滾動。
  • ResultSet.TYPE_SCROLL_INSENSITIVE,游標可上下移動,當數據庫變化時,當前結果集不變。
  • ResultSet. TYPE_SCROLL_SENSITIVE,游標可上下移動,當數據庫變化時,當前結果集同步改變。

int 型參數concurrency決定數據庫是否與可滾動集同步更新:

  • ResultSet.CONCUR_READ_ONLY,不能用結果集更新數據庫中的表。
  • ResultSet.CONCUR_UPDATETABLE,能用結果集更新數據庫中的表。

例如,以下代碼利用連接對象connect,創(chuàng)建Statement對象stmt,指定結果集可滾動,并以只讀方式讀數據庫:

?
1
2
stmt = connect.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_READ_ONLY);


可滾動集上另外一些常用的方法如下:

  • boolean previous():將游標向上移動,當移到結果集的第一行時,返回false。
  • void beforeFirst():將游標移結果集的第一行之前。
  • void afterLast():將游標移到結果集的最后一行之后。
  • void first():將游標移到第一行。
  • void last():將游標移到最后一行。
  • boolean isAfterLast():判游標是否在最后一行之后。
  • boolean isBeforeFirst():判游標是否在第一行之前。
  • boolean isLast():判游標是否在最后一行。
  • boolean isFirst():判游標是否在第一行。
  • int getRow():獲取當前所指的行(行號自1開始編號,結果集空,返回0)。
  • boolean absolute(int row):將游標移到row行。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 成人毛片一区 | 精品久久久久久久久亚洲 | 热99在线| 免费毛片免费看 | 久久国产秒| 人成免费a级毛片 | 91专区在线观看 | 亚州欧美在线 | 一级毛片特黄 | www.91操 | 欧美黄色一区 | 久久精品毛片 | 免费在线观看毛片 | 国产精品久久久久久久久久 | 91资源在线观看 | 黄污网址| 亚洲精品免费播放 | 91国内精品久久久久免费影院 | 黄色一级片在线观看 | 国产羞羞视频在线观看免费应用 | 欧美性生视频 | av在线免费播放网站 | 久久在现视频 | 一本视频在线观看 | 久久久国产视频 | 国产品久久 | 中文字幕在线网站 | 成人aaaaa片毛片按摩 | 视频一区国产精品 | 91不雅视频| 欧美亚洲一级 | 欧美日韩亚洲国产精品 | 成人小视频在线播放 | 成人444kkkk在线观看 | 极品xxxx欧美一区二区 | 深夜视频在线观看 | 加勒比婷婷色综合久久 | 亚洲午夜影院在线观看 | 欧美va亚洲 | 久久网综合 | 国产欧美日韩在线播放 |