JDBC連接MySQL

一、對JDBC連接數據庫的步驟
1.加載數據庫驅動
//加載驅動
Class.forName(driverClass)
----------------------------------
//加載MySQL驅動
Class.forName("com.mysql.jdbc.Driver");
//加載Oracle驅動
Class.forName("oracle.jdbc.Driver.OracleDriver");

2.通過DriverManager獲取數據庫連接
//獲取數據庫連接
DriverManager.getConnection(String url,String user,String pass)
---------------------------------------------
MySQL的URL寫法:jdbc:mysql://hostname:port/databasename
Oracle的URL寫法:jdbc:oracle:thin:@hostname:port:databasename

3.通過Connection對象創建Statement對象,Connection創建Statement的方法:
createStatement():創建基本的Statement對象
prepareStatement(String sql):根據傳入的SQL語句創建預編譯的Statement對象
prepareCall(String sql):根據傳入的SQL語句創建CallableStatement對象

4.使用Statement執行SQL語句。
execute:可以執行任何SQL語句
executeUpdate:主要用於執行DML和DDL語句。執行DML返回受SQL語句影響的行數,執行DDL返回0
executeQuery:只能執行查詢語句,執行後返回代表查詢結果的ResultSet對象

5.操作結果集

6.回收數據庫資源

二、例子
import java.sql.*;

public class ConnMySQL{
    public static void main(String[] args) throws Exception{
        //加載MySQL驅動
        Class.forName("com.mysql.jdbc.Driver");
        //獲取數據庫連接
        Connection conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test_cyw","root","root");
        //通過Connection對象創建Statement對象
        Statement stmt = conn.createStatement();
        //
        ResultSet rs = stmt.executeQuery("select * from t_student");
        while(rs.next()){
            System.out.println(rs.getInt(1) + "\t"
                + rs.getString(2) + "\t"
                + rs.getString(3));
        }
        //關閉數據庫資源
        if(rs != null){
            rs.close();
        }
        if(stmt != null){
            stmt.close();
        }
        if(conn != null){
            conn.close();
        }
    }
}
---------------
在操作過程中出現問題:
1.JDBC數據庫連接異常
異常情況:Exception in thread "main" java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
問題說明:找不到mysql的驅動類
解決方法:
在環境變量的CLASSPATH中添加mysql-connector-java-5.1.20-bin.jar就可以了
本機的路徑是:C:\Program Files\MySQL\MySQL Connector J\mysql-connector-java-5.1.20-bin.jar

2.MySql中文顯示亂碼
mysql> select * from t_student;
+----+------+-----+
| ID | NAME | SEX |
+----+------+-----+
|  1 | cyw  | 鐢? |
|  2 | ly   | 鐢? |
|  3 | gs   | 濂? |
+----+------+-----+
3 rows in set (0.00 sec)
解決方法:
mysql> set names 'gbk'
出現亂碼的解決資料來源於:http://blog.csdn.net/ACMAIN_CHM/article/details/4174186

對JDBC對數據庫的連接,目前只是對MySQL的連接,分享和大家互相學習
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章