更新時間:2021-02-20 17:02:52 來源:動力節點 瀏覽1519次
JDBC的主要還是用來和各種數據庫建立連接,然后發送SQL語句,處理結果。那么我們如何使用JDBC和數據庫建立連接呢?本文我們就來為大家介紹使用JDBC的基本步驟,帶大家熟悉JDBC的使用方法。
1、注冊驅動
DriverManager.registerDriver(new com.mysql.jdbc.Driver());
JDBC中規定,驅動類在被加載時,需要自己“主動”把自己注冊到DriverManger中,如何注冊一個驅動呢?上面我們好像使用的是反射,但是反射只是實現了注冊的功能,追究其原理,我們還需要到com.mysql.jdbc.Driver類的源代碼中找尋答案。
也就是說我們注冊驅動的時候只是new了自己,也就是Driver,既然這樣我們直接把注冊驅動類的代碼修改為加載驅動類。也可以實現同樣的功能,于是就使用Class.forName(“com.mysql.jdbc.Driver”); 代替了,形式也更加的簡單。
2、建立連接
在分析原理的時候意思就是有了驅動,我們還要和我們的數據庫建立連接。這個很簡單,既然是數據庫,我們首先需要指定我們使用的數據庫是哪一個,還有用戶名和密碼。
//DriverManager.getConnection("jdbc:mysql://localhost/test?user=SIHAI&password=SIHAI");
//建立連接 參數一: 協議 + 訪問的數據庫 , 參數二: 用戶名 , 參數三: 密碼。
conn = DriverManager.getConnection("jdbc:mysql://localhost/student", "root", "root");
3、創建statement
獲取了連接之后,下面我們就可以獲取Statement。Statement是用來向數據庫發送要執行的SQL語句的。跟數據庫打交道,一定需要這個對象
st = conn.createStatement();
Statement最為重要的方法是:
int executeUpdate(String sql):執行更新操作,即執行insert、update、delete語句,其實這個方法也可以執行create table、alter table,以及drop table等語句,但我們很少會使用JDBC來執行這些語句;
(2)ResultSet executeQuery(String sql):執行查詢操作,執行查詢操作會返回ResultSet,即結果集。
4、執行SQL,得到ResultSet
String sql = "select * from t_stu";
rs = st.executeQuery(sql);
ResultSet就是一張二維的表格,我們可以調用rs對象的next()方法把“行光標”向下移動一行,當第一次調用next()方法時,“行光標”就到了第一行記錄的位置,這時就可以使用ResultSet提供的getXXX(int col)方法來獲取指定列的數據了。當然里面的方法還很多。
(1)String getString(int columnIndex):獲取指定列的String類型數據;
(2)int getInt(int columnIndex):獲取指定列的int類型數據;
(3) double getDouble(int columnIndex):獲取指定列的double類型數據;
(4)boolean getBoolean(int columnIndex):獲取指定列的boolean類型數據;
(5)Object getObject(int columnIndex):獲取指定列的Object類型的數據。
(6)String getString(String columnName):獲取名稱為columnName的列的String數據;
(7)int getInt(String columnName):獲取名稱為columnName的列的int數據;
(8)double getDouble(String columnName):獲取名稱為columnName的列的double數據;
(9)boolean getBoolean(String columnName):獲取名稱為columnName的列的boolean數據;
(10)Object getObject(String columnName):獲取名稱為columnName的列的Object數據;
5. 遍歷結果集
? while(rs.next()){
? int id = rs.getInt("id");
? String name = rs.getString("name");
? int age = rs.getInt("age");
? System.out.println("id="+id + "===name="+name+"==age="+age);
?
? }
6. 釋放資源
if (rs != null) {
???????try {
????????????rs.close();
????????} catch (SQLException sqlEx) { } // ignore
????????rs = null;
????}
結合上述的使用JDBC的基本步驟,我們在使用JDBC的時候也能夠輕松容易很多。在本站的JDBC教程中,對JDBC的使用有更加深入的講解,結合各種SQL語句,對我們使用JDBC很有意義。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習