用Jdbc串連MySql伺服器還是很方便的。
首先,將jdbc匯入工程,或者將jdbc放到ClassPath裡,這裡我利用Eclipse直接匯入jdbc jar檔案,不羅嗦了。
然後,制定DriverManager,利用最簡單的方法,Class類的froName直接完成,代碼:
Class.forName("com.mysql.jdbc.Driver").newInstance();
然後,執行個體化一個連結Connection,注意使用者名稱和密碼,有幾個方法可供選擇,這裡我用的是DirverManager類的getConnection(String url, String user, String password)方法。具體使用:DriverManager
例如:Connection conn=DriverManager.getConnection("jdbc:mysql://localhost/mydatabase", "root", "1234");
下一步,建立用於執行sql語句的Statement,這個容易,一行代碼搞定:
Statement stat=conn.createStatement();
最後就可以利用stat執行個體執行sql語句了,具體參考:Statement
範例程式碼:
建立的mydatabase資料庫中有一個mytable表,此表包含一個integer的id和一個text的content。
利用一下代碼查看mytable表中的前20行的content部分。
- package com.tobacco.mysqltest;
-
- import java.sql.Connection;
- import java.sql.DriverManager;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- import java.sql.Statement;
-
- public class Main {
- private static Connection conn;
- private static Statement stat;
- private static ResultSet rs;
-
-
- public static void main(String[] args) {
- try {
- Class.forName("com.mysql.jdbc.Driver").newInstance();
- System.out.println("load jdbc successfully");
- } catch (InstantiationException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- } catch (IllegalAccessException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- } catch (ClassNotFoundException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
-
- try {
- conn=DriverManager.getConnection("jdbc:mysql://localhost/mydatabase", "root", "1234");
- stat=conn.createStatement();
- int n=20;
- int i=1;
- while(i<n){
- rs = stat.executeQuery("SELECT * FROM mytable WHERE id="+i);
- if(rs!=null){
- rs.first();
- String content=rs.getString(rs.findColumn("content"));
- System.out.println(content);
- }
- i++;
- }
-
- } catch (SQLException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
-
-
- }
-
- }