更新時(shí)間:2021-02-20 16:57:11 來源:動(dòng)力節(jié)點(diǎn) 瀏覽1403次
JDBC實(shí)際上是Java語言中用來規(guī)范客戶端程序如何來訪問數(shù)據(jù)庫的應(yīng)用程序接口,提供了諸如查詢和更新數(shù)據(jù)庫中數(shù)據(jù)的方法。那么,JDBC有哪些來訪問數(shù)據(jù)庫的應(yīng)用程序接口呢?本文我們就來為大家介紹JDBC常用接口,方便JDBC的使用。
1.Driver接口
Driver接口由數(shù)據(jù)庫廠家提供,作為java開發(fā)人員,只需要使用Driver接口就可以了。在編程中要連接數(shù)據(jù)庫,必須先裝載特定廠商的數(shù)據(jù)庫驅(qū)動(dòng)程序,不同的數(shù)據(jù)庫有不同的裝載方法。如:
裝載MySql驅(qū)動(dòng):Class.forName("com.mysql.jdbc.Driver");
裝載Oracle驅(qū)動(dòng):Class.forName("oracle.jdbc.driver.OracleDriver");
2.Connection接口
Connection與特定數(shù)據(jù)庫的連接(會(huì)話),在連接上下文中執(zhí)行sql語句并返回結(jié)果。DriverManager.getConnection(url, user, password)方法建立在JDBC URL中定義的數(shù)據(jù)庫Connection連接上。
連接MySql數(shù)據(jù)庫:Connection conn = DriverManager.getConnection("jdbc:mysql://host:port/database", "user", "password");
連接Oracle數(shù)據(jù)庫:Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@host:port:database", "user", "password");
連接SqlServer數(shù)據(jù)庫:Connection conn = DriverManager.getConnection("jdbc:microsoft:sqlserver://host:port; DatabaseName=database", "user", "password");
常用方法:
createStatement():創(chuàng)建向數(shù)據(jù)庫發(fā)送sql的statement對(duì)象。
prepareStatement(sql) :創(chuàng)建向數(shù)據(jù)庫發(fā)送預(yù)編譯sql的PrepareSatement對(duì)象。
prepareCall(sql):創(chuàng)建執(zhí)行存儲(chǔ)過程的callableStatement對(duì)象。
setAutoCommit(boolean autoCommit):設(shè)置事務(wù)是否自動(dòng)提交。
commit() :在鏈接上提交事務(wù)。
rollback() :在此鏈接上回滾事務(wù)。
3.Statement接口
用于執(zhí)行靜態(tài)SQL語句并返回它所生成結(jié)果的對(duì)象。
三種Statement類:
Statement:由createStatement創(chuàng)建,用于發(fā)送簡(jiǎn)單的SQL語句(不帶參數(shù))。
PreparedStatement :繼承自Statement接口,由preparedStatement創(chuàng)建,用于發(fā)送含有一個(gè)或多個(gè)參數(shù)的SQL語句。PreparedStatement對(duì)象比Statement對(duì)象的效率更高,并且可以防止SQL注入,所以我們一般都使用PreparedStatement。
CallableStatement:繼承自PreparedStatement接口,由方法prepareCall創(chuàng)建,用于調(diào)用存儲(chǔ)過程。
常用Statement方法:
execute(String sql):運(yùn)行語句,返回是否有結(jié)果集
executeQuery(String sql):運(yùn)行select語句,返回ResultSet結(jié)果集。
executeUpdate(String sql):運(yùn)行insert/update/delete操作,返回更新的行數(shù)。
addBatch(String sql) :把多條sql語句放到一個(gè)批處理中。
executeBatch():向數(shù)據(jù)庫發(fā)送一批sql語句執(zhí)行。
4.ResultSet接口
ResultSet提供檢索不同類型字段的方法,常用的有:
getString(int index)、getString(String columnName):獲得在數(shù)據(jù)庫里是varchar、char等類型的數(shù)據(jù)對(duì)象。
getFloat(int index)、getFloat(String columnName):獲得在數(shù)據(jù)庫里是Float類型的數(shù)據(jù)對(duì)象。
getDate(int index)、getDate(String columnName):獲得在數(shù)據(jù)庫里是Date類型的數(shù)據(jù)。
getBoolean(int index)、getBoolean(String columnName):獲得在數(shù)據(jù)庫里是Boolean類型的數(shù)據(jù)。
getObject(int index)、getObject(String columnName):獲取在數(shù)據(jù)庫里任意類型的數(shù)據(jù)。
ResultSet還提供了對(duì)結(jié)果集進(jìn)行滾動(dòng)的方法:
next():移動(dòng)到下一行
Previous():移動(dòng)到前一行
absolute(int row):移動(dòng)到指定行
beforeFirst():移動(dòng)resultSet的最前面。
afterLast() :移動(dòng)到resultSet的最后面。
使用后依次關(guān)閉對(duì)象及連接:ResultSet → Statement → Connection
以上就是JDBC常用接口,每種接口能夠連接的數(shù)據(jù)庫各不相同,我們需要掌握這些JDBC接口的作用,才能夠正確使用JDBC與數(shù)據(jù)庫建立連接,完成對(duì)SQL語句的處理。在本站的JDBC教程中,對(duì)JDBC各種接口都有詳細(xì)的介紹,想學(xué)習(xí)的小伙伴千萬不要錯(cuò)過呀!
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)
初級(jí) 202925
初級(jí) 203221
初級(jí) 202629
初級(jí) 203743