Java連接數據庫(mysql,sqlserver)


  猶記當年為了使用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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM