1. 程式人生 > >Eclipse中使用JDBC連線MYSQL資料庫

Eclipse中使用JDBC連線MYSQL資料庫

JDBC驅動的下載與匯入

JAVA可以通過MYSQL的JDBC驅動連線資料庫,這裡記錄了Eclipse建立工程連線資料庫的過程。

1.MySQLJDBC驅動名為Connector/J,
下載
zip檔案,解壓後將其中的jar包,匯入到專案。右鍵專案,選擇Build Path 的 Add External Archives,選擇jar包即可。

建立連線

1. 使用java.sql包中的DriverManager進行JDBC驅動管理,並由它產生連線實體connection.

2. 使用Class.forName(String).newInstance()方法將真正的Connector/J驅動類生成例項。

Class.forName("com.mysql.jdbc.Driver").newInstance();

2.呼叫DriverManager類自動載入驅動類生成的例項,其靜態方法getConnection()建立連線物件,建立連線時應捕獲SQLException異常

try{   
     Connection con=DriverManager.getConnection("jdbc:mysql://localhost/javalecture?","root","123456");
}catch(SQLException e){
     System.out.println(e); 
}  

資料庫操作

使用Statement 以宣告一個SQL語句物件,然後讓已建立的連線物件conn呼叫方法createStatement()建立

try{  
	Statement sql=con.createStatement();
}catch(SQLException e ){
	System.out.println(e);
}
1.向資料庫傳送SQL查詢語句

2.處理查詢結果

使用Statement類的executeQuery()方法執行SQL語句,返回結果使用ResultSet物件儲存。

ResultSet rs=sql.executeQuery("SELECT * FROM  students");

下面給出一個例項僅供參考.

例項中的資料表

學生成績
ID name javascore sqlscore
201407222 winjourn 95 90
201407333 enstein 94 89

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;

public class Main {
	public static void main(String[] args) {
		Connection con;
		Statement sql; 
		ResultSet rs;
			 try {
				Class.forName("com.mysql.jdbc.Driver").newInstance();
			} catch (InstantiationException | IllegalAccessException | ClassNotFoundException e1) {
				// TODO Auto-generated catch block
				e1.printStackTrace();
			}
		 try { 
			 String url = "jdbc:mysql://localhost/javalecture"; /* jdbc:mysql:// + 資料庫地址/資料庫名稱*/
			 String username  = "root";
			 String password = "123456";
	    	  con=DriverManager.getConnection(url,username,password);
	          sql=con.createStatement() ;
	          rs=sql.executeQuery("SELECT * FROM  students");
	          ArrayList<String>ar = new ArrayList<String>();
	          while(rs.next()) {
	             String id=rs.getString(1);
	             String name=rs.getString(2);
	             int  javascore = rs.getInt(3);
	             if(javascore >= 60){
	            	 ar.add(id +" "+ name +" " + String.valueOf(javascore));
	             }
	          }
	          System.out.println("java及格人數"+ ar.size());
	          for(int i=0;i<ar.size();i++){
	        	  System.out.println(ar.get(i));
	          }
	      }
	      catch(SQLException e) { 
	         System.out.println(e);
	      }
	}

}