jdbc 操作mysql數據庫

MySQL數據庫 JDBC操作步驟

JDBC操作步驟

程序 --> 加載驅動 --> 數據庫連接 --> 數據庫操作指令 --> 關閉
       指定的連接地址   例,SQL指定     釋放資源 
     |
classpath指定
      
     |
      -->classpath - 指定 ->驅動程序  


連接數據庫
配置MySql數據庫的驅動程序
    使用MySql數據庫進行開發,則必須將MySql數據庫程序配置到CLASSPATH ,沒有的話自己新建一個“用戶變量”,如:

變量名:CLASSPATH
變量值:.;d:\MySQL\mysql-connector-java-5.1.13-bin.jar;  

內容與內容之前用“;”分割。

加載驅動程序
加載驅動程序是JDBC操作的第一步。MySQL中的數據庫驅動程序路徑是org.gjt.mm.mysql.Driver。

例:加載驅動程序

public class ConnectionDemo {
//定義MySQL的數據庫驅動程序
public static final String DBDRIVER = "org.gjt.mm.mysql.Driver" ;
public static void main(String args[]){
   try{
    Class.forName(DBDRIVER) ; //加載驅動程序 
   }catch(ClassNotFoundException e){
    e.printStackTrace() ;
   }
}
}

如果以上程序可以正常運行,則驅動程序已經配置成功。

配置出錯時的解決!
如果配置時出現了以下的錯誤提示:
java.lang.ClassNotFoundException: org.gjt.mm.mysql.Driver
則肯定是CLASSPATH設置有問題。

如果在CLASSPATH設置上搞不清楚,那就直接在eclipse中直接導入包操作:
在項目文件中有個src文件夾,右擊 Build Path --> Configure Build Path --> Libraries --> Add External JARs... --> 找到d:\MySQL\mysql-connector-java-5.1.13-bin.jar

之後再運行程序,如果不知道是否正確則可在try語句中加一個打印出“OK” ,有的話就加載成功了。


連接及關閉數據庫
使用DriverManager類連接數據庫。

DriverManager類的常用方法
通過連接地址連接數據庫
public static Connection getConnection(String url)
                                throws SQLException

通過連接地址連接數據庫,同時輸入用戶名和密碼
public static Connection getConnection(String url,
                                       String user,
                                       String password)
                                throws SQLException

MySQL數據庫的連接地址格式
jdbc:mysql://IP地址:端口號/數據庫名稱
現在本機上存在一個mldn的數據庫,此時的地址爲jdbc:mysql://localhost:3306/mldn

提示:數據庫連接地址的形式
JDBC雖然提供了與平臺無關的數據庫操作,但各個數據庫的連接地址是有差異的,JDBC的連接地址實際上由以下3個部分組成。
--> jdbc協議:JDBC URL 中的協議總是jdbc 。
--> 子協議:驅動程序名或數據庫連接機制(這種機制可由一個或多個驅動程序支持)的名稱,如mysql。
--> 子名稱:一種標識數據庫的方法。必須遵循“//主機名:端口/子協議”的標準URL命名約定,如//localhost:3306/mldn。

Connection類

例:連接數據庫

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class ConnectionDemo02 {
//定義MySQL的數據庫驅動程序
public static final String DBDRIVER = "org.gjt.mm.mysql.Driver" ;
//定義MySQL數據庫的連接地址
public static final String DBURL = "jdbc:mysql://localhost:3306/mldn" ;
//MySQL數據庫的連接用戶名
public static final String DBUSER = "root" ;
//MySQL數據庫的連接密碼
public static final String DBPASS = "mysqladmin" ;
public static void main(String args[]){
   Connection conn = null ; //數據庫連接
   try{
    Class.forName(DBDRIVER) ; //加載驅動程序
   }catch(ClassNotFoundException e){
    e.printStackTrace() ;
   }
   try{
    //連接MySQL數據庫時,要寫上連接的用戶名和密碼
    conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS) ;
   }catch(SQLException e){
    e.printStackTrace() ;
   }
   System.out.println(conn);
   try{
    conn.close() ; //數據庫關閉
   }catch(SQLException e){
    e.printStackTrace() ;
   }
}
}

輸出:
com.mysql.jdbc.JDBC4Connection@1891d8f

程序的運行結果不爲空,說明此時數據庫已經連接成功。

若此時運行結果發生異常,則檢查一下MySQL的服務項有沒有開啓。

注意:數據庫打開之後必須關閉。

執行數據庫的更新操作
對數據庫進行操作時,要用到Statement接口完成,此接口可以使用Connection接口中提供的createStatement()方法實例化。

下面使用Statement接口分別完成數據庫的插入、修改、刪除操作。

實例一 執行數據庫插入操作
下面直接向user表中增加一條新的記錄,編寫一條完整的SQL語句,並通過Statement執行。

例:插入數據

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;

public class InsertDemo {
//定義MySQL的數據庫驅動程序
public static final String DBDRIVER = "org.gjt.mm.mysql.Driver" ;
//定義MySQL數據庫的連接地址
public static final String DBURL = "jdbc:mysql://localhost:3306/mldn" ;
//MySQL數據庫的連接用戶名
public static final String DBUSER = "root" ;
//MySQL數據庫的連接密碼
public static final String DBPASS = "mysqladmin" ;
public static void main(String args[])throws Exception{
   Connection conn = null ;   //數據庫連接
   Statement stmt = null ;    //數據庫操作
   String sql = "INSERT INTO user(name,password,age,sex,birthday) "
    + " VALUES ('李華','www.baidu.cn',30,'男','2020-1-23')";
   Class.forName(DBDRIVER) ;   //加載驅動程序
   //連接MySQL數據庫時,要寫上連接的用戶名和密碼
   conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS) ;
   stmt = conn.createStatement() ; //實例化Statement對象
   stmt.executeUpdate(sql) ; //執行數據庫更新操作
   stmt.close() ;    //操作關閉
   conn.close() ;    //數據庫關閉
}
}

提示:在數據庫中更新操作結束後,用SELECT * FROM user ;來查看是否已做修改。
重要:在程序中的SQL語句中的數據是固定的,如果將全部的內容換成變量,則可以按照以下的代碼編寫:
Statement stmt = null ;   //數據庫操作
String name = "李敏" ;    //姓名
String password = "
www.baidu.cn" ; //密碼
int age = 23 ;     //年齡
String sex = "女" ;    //性別
String birthday = "2003-08-23" ; //生日
String sql = " INSERT INTO user(name,password,age,sex,birthday) " 
+ " VALUES ('" + name + "','" + password + "'," + age + ",'" + sex + "','" + birthday + "') ";   //拼湊出一個完整的SQL語句


實例二 執行數據庫修改

修改語句 --> UPDATE

例:數據庫修改操作

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;

public class UpdateDemo {
//定義MySQL的數據庫驅動程序
public static final String DBDRIVER = "org.gjt.mm.mysql.Driver" ;
//定義MySQL數據庫的連接地址
public static final String DBURL = "jdbc:mysql://localhost:3306/mldn" ;
//MySQL數據庫的連接用戶名
public static final String DBUSER = "root" ;
//MySQL數據庫的連接密碼
public static final String DBPASS = "mysqladmin" ;
public static void main(String args[])throws Exception{
   Connection conn = null ;   //數據庫連接
   Statement stmt = null ;    //數據庫操作
   int id = 3 ;     //id  
   String name = "李洛克" ;   //姓名
   String password = "
www.mldn.cn" ; //密碼
   int age = 23 ;     //年齡
   String sex = "男" ;    //性別
   String birthday = "2001-08-23" ;//生日
   String sql = " UPDATE user SET name='"+ name + "',password='" + password 
     + "',age=" + age + ",sex='"+ sex + "',birthday='" 
     + birthday+ "' WHERE id=" + id ;//拼湊出一個完整的SQL語句
  
   Class.forName(DBDRIVER) ;   //加載驅動程序
   //連接MySQL數據庫時,要寫上連接的用戶名和密碼
   conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS) ;
   stmt = conn.createStatement() ;   //實例化Statement對象
   stmt.executeUpdate(sql) ;   //執行數據庫更新操作
   stmt.close() ;     //操作關閉
   conn.close() ;     //數據庫關閉
}
}

實例三 執行數據庫刪除操作

例:按id刪除一條記錄

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;

public class DeleteDemo {
//定義MySQL的數據庫驅動程序
public static final String DBDRIVER = "org.gjt.mm.mysql.Driver" ;
//定義MySQL數據庫的連接地址
public static final String DBURL = "jdbc:mysql://localhost:3306/mldn" ;
//MySQL數據庫的連接用戶名
public static final String DBUSER = "root" ;
//MySQL數據庫的連接密碼
public static final String DBPASS = "mysqladmin" ;
public static void main(String args[])throws Exception{
   Connection conn = null ;   //數據庫連接
   Statement stmt = null ;    //數據庫操作
   int id = 3 ;      //id  
   String sql = "DELETE FROM user WHERE id=" + id;//拼湊出一個完整的SQL語句
  
   Class.forName(DBDRIVER) ;   //加載驅動程序
   //連接MySQL數據庫時,要寫上連接的用戶名和密碼
   conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS) ;
   stmt = conn.createStatement() ; //實例化Statement對象
   stmt.executeUpdate(sql) ; //執行數據庫更新操作
   stmt.close() ;    //操作關閉
   conn.close() ;    //數據庫關閉
}
}

發佈了15 篇原創文章 · 獲贊 13 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章