jdbc鏈接mysql數據庫

java使用jdbc鏈接數據庫。

鏈接jdbc的步驟:

一.加載數據庫驅動

二.填寫數據庫連接必要信息,如url,user,password。

三.建立數據庫連接.

第一步:加載數據庫驅動iver

加載數據庫驅動一般分爲三種方式:

1.用Class.forName 記載驅動,此方法將需要知道驅動類,代碼如下:

Class.forName(“com.mysql.jdbc.Driver”);

Connection conn = DriverManager.gerConnection(url,user,password);

…..

2.使用DriverManager類註冊驅動實現,此時只需要導入對應的驅動包

裏驅動即可,代碼如下:

DriverManager.registerDriver(new Driver));

Connection con = DriverManager.getConnection(url,user,password);

….

3.採用面下對象的方式,也是使用new Driver(),代碼如下

Driver driver = new Driver(); //導入對用的驅動類

Properties pro = new Properties();

pro.set(“user”,”your user”);

pro.set(“password”,”yourpassword”);

Connection conn = driver.connect(“url”,pro);

jdbc的url的書寫。

String url = “jdbc:mysql://localhost/yourdb”

請注意url的規範,因爲url的規範的問題將可能導致很多的報錯,這裏列舉一項

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server

請注意這個錯誤,這個錯誤的報錯信息看起來是mysql沒有響應驅動發的數據包。

這個問題可能由於編碼,或者url的其他問題引起,如果是編碼,加上編碼即可,

String url = “jdbc:mysql://localhost/yourdb??characterEncoding=utf8”

下面的代碼將正式鏈接數據庫,並查詢數據庫,切遍歷出查詢的結果集

package condbmysql;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import java.util.Properties;

import com.mysql.jdbc.Driver;

public class SimpleConnect {

public static void main(String[] args) throws Exception{
    String sql = "select * from cathectic_user";

    ResultSet rest = query(sql);
    List<List<String>> relist = new ArrayList<List<String>>();
    ResultSetMetaData  data = rest.getMetaData();
    int colcount = data.getColumnCount();
    System.out.println(rest);
    while(rest.next()){
        List<String> collist = new ArrayList<String>();
        for (int i = 1; i < colcount+1; i++) {
            collist.add(rest.getObject(i).toString());
        }
        relist.add(collist);
    }

    for (Object object : relist) {
        System.out.println(object);
    }
}




public static  ResultSet query(String sql) throws SQLException, ClassNotFoundException{
    Connection conn=null;
    ResultSet result= null;
    String url = "jdbc:mysql://127.0.0.1:3306/cathectic_db?characterEncoding=utf8";
    String user="root";
    String password="password";
    //          Class.forName("com.mysql.jdbc.Driver");
    DriverManager.registerDriver(new Driver());  

    //          Driver driver = new com.mysql.jdbc.Driver();
    conn = DriverManager.getConnection(url, user, password); 

    Driver drive= new Driver();
    Properties pro = new Properties();
    pro.setProperty("user", "root");
    pro.setProperty("password","password");

    drive.connect(url, pro);
    Statement satament = conn.createStatement();
    result = satament.executeQuery(sql);
    return result;
}

}
上面的代碼主要用到的關鍵信息如下:

Connection … 是java庫提供的一個接口,主要用於數據庫的鏈接
DriverManager … 數據庫驅動類,將通過該對象獲取一個數據庫連接。
Connection conn = new DriverManager.getConnection(url,user,password);
Statement .. 重數據庫連接中獲取的一個對象,通過該對象可以操作數據庫
Statement stat = conn.createStatement();
ResultSet rst = stat.excuteQuery(sql); //操作數據庫,做了一個查詢
//下面將遍歷整個rst的結果集:
List

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章