java通過JDBC連接mysql數據庫

第一步:下載mysql驅動,網址

http://dev.mysql.com/downloads/connector/j/

第二步:講mysql驅動mysql-connector-java-5.0.5-bin.jar加入到項目的lib目錄或者將該文件的路徑加入到classpath環境變量裏面

第三步:建立數據庫

1、安裝mysql

2、建立數據庫:create database test;

3、創建表:

CREATE TABLE STUDENT  
(  
SNO CHAR(7) NOT NULL,  
SNAME VARCHAR(8) NOT NULL,  
SEX CHAR(2) NOT NULL,  
BDATE DATE NOT NULL,  
HEIGHT DEC(5,2) DEFAULT 000.00,  
PRIMARY KEY(SNO)  
);

4、插入數據

第四步:java程序編寫

1、加載驅動:加載想要連接的數據庫的驅動到JVM,通過java.lang.Class類的靜態方法forName(String className)來實現,加載成功後,Driver類的實例就被註冊到DriverManager中

 Class.forName("com.mysql.jdbc.Driver").newInstance(); 
 或者
 com.mysql.jdbc.Driver driver = new com.mysql.jdbc.Driver();
 或者
 new com.mysql.jdbc.Driver();

2、創建連接對象,該對象就是一個數據庫連接

Connection con = DriverManager.getConnection("url", "user", "passwrod");

其中MySQL的JDBC URL編寫方式:jdbc:mysql://主機名稱:連接端口/數據庫的名稱?參數=值,避免中文亂碼要指定useUnicode和characterEncoding。

3、創建申明:創建一個java.sql.Statement實例,Statement實例分爲以下三種類型:

     1、執行靜態SQL語句。通常通過Statement實例實現。     

     2、執行動態SQL語句。通常通過PreparedStatement實例實現。     

     3、執行數據庫存儲過程。通常通過CallableStatement實例實現。     

   具體的實現方式:       

    Statement stmt = con.createStatement() ;  
   PreparedStatement pstmt = con.prepareStatement(sql) ; 
    CallableStatement cstmt = con.prepareCall("{CALL demoSp(? , ?)}") ;

4、執行數據庫操作:Statement接口提供了三種執行SQL語句的方法:executeQuery 、executeUpdate、和execute。     

    1、ResultSet executeQuery():執行查詢數據庫的SQL語句,返回一個結果集(ResultSet)對象。       2int executeUpdate():用於執行INSERT、UPDATE或DELETE語句以及SQL DDL語句,如:CREATE TABLE和DROP TABLE等     

    3、execute():用於執行返回多個結果集、多個更新計數或二者組合的語句。     

具體實現代碼:

5、處理結果:分兩種情況

1執行更新返回的本次操作影響到的記錄數

2執行查詢返回的結果是一個ResultSet對象

    ResultSet包含符合SQL語句中條件的所有行,並且它通過一套get方法提供了對這些行中數據的訪問。     

    使用結果集(ResultSet)對象的訪問方法獲取數據:     

    while(rs.next()){     

        String name = rs.getString("name") ;     

        String pass = rs.getString(1) ;  

    }      

6、關閉JDBC對象:操作完成以後要把所有使用的JDBC對象全都關閉,以釋放JDBC資源,關閉順序和聲明順序相反:     

    1、關閉記錄集     

    2、關閉聲明     

    3、關閉連接對象 


以下是學習時測試代碼:

package com.nudt.jdbc;

import java.net.ConnectException;
import java.sql.*;

public class DBUtilDemo{
    private static final String URL = "jdbc:mysql://127.0.0.1:3306/imooc";
    private static final String USER = "root";
    private static final String PASSWD= "nudt2013";

    private static Connection conn = null;

    static {
        try {
            Class.forName("com.mysql.jdbc.Driver");
            conn = DriverManager.getConnection(URL,USER,PASSWD);
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

    public static Connection getConnection(){
        return conn;
    }

    public static void main (String args[])throws Exception{

        Statement stmt = conn.createStatement();
        ResultSet rs = stmt.executeQuery("select user_name,age from imooc_goddess");

        String result = null;
        while(rs.next()){
            result = "name:"+rs.getString("user_name")+";age:"+rs.getInt("age");
            System.out.println(result);
        }
    }
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章