java數據庫筆記(一):jdbc連接mysql數據庫


  最近學java,寫了個簡單的學生信息管理系統,交互式但沒有連接數據庫,所以只能作為演示,無法儲存數據,所以搗鼓起數據庫來。兩小時學了一下關系型數據庫的基本知識和sql語言的語法,然后就開始上馬搞起。下面是學習筆記:

1.下載mysql-connector-java-5.1.7-bin.jar

  JDBC是由許多java.sql包中的java類組成,支持訪問數據庫和其他表格形式的關系型數據。首先需要從官網上下載jdbc驅動,http://dev.mysql.com/downloads/connector/j/

2.添加到java可訪問的路徑中來

  網上查到的做法是將mysql-connector-java-5.1.7-bin.jar的絕對路徑設置在classpath中,我方便起見,就將它放在%JAVA_HOME%/lib/mysql-connector-java-5.1.7-bin.jar這里,再添加到環境變量中。

  可問題來了,我設置后寫了個簡單的程序測試是否能找到驅動,卻失敗了:

package com.xtest;
import java.sql.*;
public class main {
    public static void main(String[] args) {
        try{
            Class.forName("com.mysql.jdbc.Driver");
        }catch(ClassNotFoundException e){
            System.out.println("con't find the driver");
            e.printStackTrace();
        }
    }
}

好傷心啊,只能繼續找解決方案,發現可以在要運行的java項目右鍵->build path->add external archives……,然后把mysql-connector-java-5.1.7-bin.jar添加進去了,這樣就出現在Referenced Library 下面,運行通過!不過覺得這個方面有點麻煩,因為每個project都需要單獨添加一次,有更好的方案,或者深刻點的理解請@我一下,謝謝!

3.編寫測試案例

我在mysql里面創建了一個person庫student類,偷懶只寫了id和name項,然后插入了兩個record。下面是代碼:

package com.jdbc;
import java.sql.*;
public class Main {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        String driver = "com.mysql.jdbc.Driver";
        String url = "jdbc:mysql://127.0.0.1:3306/person";
        String user ="root";
        String password ="";
        
        try{
            Class.forName(driver);
            Connection  conn=DriverManager.getConnection(url,user,password);
            if(!conn.isClosed())
                System.out.println("Succeed!");
            Statement statement = conn.createStatement();
            String sql = "select * from student";
            ResultSet rs = statement.executeQuery(sql);
            String name = null;
            while(rs.next()){
                //name = rs.getString("name");
                System.out.println("id:"+rs.getString("id")+"  "+"name:"+rs.getString("name"));
            }
            rs.close();
            conn.close();
        }catch(ClassNotFoundException e){
            System.out.println("sorry,can't find the driver");
            e.printStackTrace();
        }catch(SQLException e){
            e.printStackTrace();
        }catch(Exception e){
            e.printStackTrace();
        }
    }

}

yes,成功取出了里面的兩組數據!


免責聲明!

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



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