標籤:query 資料庫 microsoft 介紹 使用者 密碼 mysql 對象 擷取
猶記當年為了使用java程式串連mysql資料庫話費一天時間,最後發現是沒有匯入外包,如今看來真的發現自己那時有點二,也怪我使用的教科書上沒有說明這點(強行甩鍋,哈哈)。今天分享出來,,希望後者不因為這點小問題而大費周章。
首先說下資料庫,資料庫在作業系統看來其實就是一個服務,mysql在windows服務中叫mysql服務,sqlserver叫sqlserver服務(我們在工作管理員中可以在服務一項中找到我們裝到自己機器上的資料庫服務),我們使用的toad for mysql等叫資料庫管理工具,他們的完成的功能其實就是通過我們的一些點擊建立資料庫等操作向資料庫服務發送sql語句從而完成對資料庫的建立庫等操作,所以從這個方面看來其實我們自己也可以寫一個簡單的資料庫管理工具。
不同的資料庫和java程式串連時使用的驅動不一樣,這兒驅動不是由java所屬公司提供,而是有java公司提供串連介面,各個資料庫廠商根據自己的資料庫特性來寫所需的驅動程式(如com.mysql.jdbc.Driver是mysql串連時用的驅動由Oracle公司提供,mysql現在屬於oracle了),而java所需完成的操作就是使用串連介面來完成驅動程式的載入以及後期的互動任務。所以要想使用java程式串連資料庫第一件事就是去相應資料庫公司官網下載相應的jar包(這個很重要,當時我就是因為這個搗鼓了一天)。mysql和sqlserver要用到的jar包我已上傳到我的GitHub上了,可以下載(https://github.com/huangxinyuan650/ConnectDatabase/tree/master/extendpackage)
在有了相應的jar包之後剩下的就是比較有序的操作了,除了載入的驅動不一樣剩下的都與資料庫的種類無關(當然在涉及到讀取的細節上會有稍微的區別在後期會講到),之後的操作就是
注意在串連前需要把串連資料庫的 jar包提前置入到工程下或者直接放到jdk的lib下。
1.使用調用Class類載入驅動(Class.forName(驅動類名路徑);),
2.通過DriverManager介面擷取資料庫連接對象(Connection conn=DriverManager.getConnection(連接字串,使用者名稱,密碼);),
3.至此已經建立起了與資料庫的串連,接下來就是擷取對資料庫操作需要使用到的對象Statement(Statement state = conn.createStatement();)
4.通過statement對象完成對資料庫的操作(Query和Update操作,資料庫的增刪改都是update,查為query),當然在完成查詢操作的時候是需要ResultSet對象來接收查詢的結果的(ResultSet re=conn.state.executeQuery(cmd);)
完整的串連類我們可以自己歸納出來,方便以後直接調用(串連mysql資料庫完整代碼)
package hxy;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;import java.sql.Statement;public class ConnectMySQL { Connection conn = null; Statement state = null; public ConnectMySQL(){ try{ ///////連結資料庫 Class.forName("com.mysql.jdbc.Driver"); //////載入資料庫驅動 } catch(ClassNotFoundException e){ System.out.println(e); } try{ conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/databasedata", "root", "huang650");
//擷取資料庫連接對象,其中getConnection方法中第一個參數為連接字串裡麵包含資料庫url和連接埠號碼,第二個參數為資料庫使用者名稱,第三個參數為資料庫密碼 System.out.println("You has connected to Mysql!!!"); state=conn.createStatement(); //////////擷取對資料庫的操作對象Statement } catch(SQLException e){ System.out.print(e); } } void close(){ try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } }}
在擷取到statement對象後就是通過statement對象完成對資料庫的操作,當然在使用完後需要關閉與資料庫的串連。
在串連sqlserver資料庫的時候只需要把驅動的路徑改為com.microsoft.sqlserver.jdbc.SQLServerDriver,然後連接埠號碼改為1433,連接字串前面改成jdbc:sqlserver即可。
Oracle資料庫的話好像是有兩種串連方式,但原理都是差不多的,有需求的可以自行百度解決,至於詳細的對資料庫的操作可以直接寫傳參數到資料庫操作對象的方法中,在之後的隨筆中還會詳細介紹。使用的詳細代碼在我的GitHub中的項目中都有,有興趣的可以去看看,歡迎批評指正。https://github.com/huangxinyuan650/ConnectDatabase
Java串連資料庫(mysql,sqlserver)