java通過JDBC串連mysql資料庫

來源:互聯網
上載者:User

標籤:資料庫   java   database   mysql   jdbc   

第一步:下載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)對象。       2、int 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);        }    }}


java通過JDBC串連mysql資料庫

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.