JDBC基礎

一。簡介mysql

    JDBC:實現跨數據庫平臺,統一數據庫編程接口,但在編程中仍須要編寫sql語句(不一樣的數據庫語句sql語句有些區別),因此hibernate比較流行,徹底屏蔽了數據庫的區別。sql

    JDBC兩端:在開發端,有統一的JDBC接口,在數據庫端,不一樣的數據庫有不一樣的JDBC接口(類庫)。
數據庫

二。編程步驟 :具備規律性。編程

1>操做數據庫的通常步驟,可分爲4步:windows

(1)裝載數據庫驅動(可選)服務器

    這一步並非必須的,在某些操做系統中,數據庫驅動的相關信息在安裝驅動程序時已經被保存到指定的位置(如windows中,SQL Server數據庫驅動信息被保存到註冊表中)。但對於JDBC驅動,這一步是必須的。
網絡

(2)創建數據庫鏈接(即得到Connection對象)編碼

    對於網絡數據庫,創建數據庫鏈接通常要提供下面5種信息:
spa

     1,數據庫服務器名(能夠是機器名、域名或IP地址)。 2,端口號  3,數據庫名   4,用戶名  5,密碼操作系統

    根據數據庫的不一樣,5種信息略有不一樣。

(3)得到用於進行數據操做的對象

    得到操做對象就能夠進行數據庫查詢、增、刪、修改、執行存儲過程等操做。

(4)關閉數據庫

   2>JDBC操做數據庫mysql的步驟

  (1)裝載數據庫驅動

    用jdbc裝載數據庫驅動有兩種方法:  

    1,使用Class.forName方法

    forName方法是Class類的一個靜態方法,返回Class對象。它有一個字符串類型的參數,須要傳入一個JDBC驅動類名:Class.forName("com.mysql.jdbc.Driver");

    2,靜態建立JDBC驅動類實例

    可直接使用new關鍵字靜態建立JDBC驅動類對象:

    Driver myDriver = new com.mysql.jdbc.Driver();  DriverManager.registerDriver(myDriver);

後者用於註冊建立的JDBC驅動類對象。

    (2)創建數據庫鏈接

    在JDBC中,可使用DriverManager類的getConnection方法得到數據庫鏈接對象。在得到數據庫鏈接對象以前須要知道5中參數信息:

    1,數據庫服務器名:localhost  2.端口號 省略(默認) 3,數據庫名:xxx  4.用戶名:xxx  5.密碼:xxx

    MySQL使用了默認的端口號(3306),所以端口號信息可被省略。MySQL的鏈接字符串格式是:jdbc:nysql://servername/dbname?parameter

    按照上面的信息依次填入這個鏈接字符串,填完後的鏈接字符串以下:

    jdbc:mysql://localhost/xxx?user=xxx&password=1234&characterEncoding=UTF8

由於須要在數據庫中處理中文,因此在鏈接字符串的末尾須要加上字符編碼以正確處理中文。

    得到數據庫鏈接對象的代碼有多種方式,一種是:

    String connStr = " jdbc:mysql://localhost/xxx?user=xxx&password=1234&characterEncoding=UTF8";

    Connection conn = DriverManager.getConnection(connStr);

    另外一種是:

    Connection conn = DriverManaget.getConnection(connStr,"用戶名","密碼");

    除此以外,也可使用Connection類的setCatalog方法改變當前數據庫:

    conn.setCatalog("newdb");

    (3)得到用於進行數據操做的對象

    在JDBC中,可使用Statement對象(翻譯「語句」)和PreparedStatement對象操做數據庫。(在此介紹前者)。Statement對象經過Connection接口的createStatement方法建立,有3種重載形式。無參數的是:

    Statement stmt = conn.createStatement();

    經過Statement對象能夠對數據庫進行查詢、增長、刪除、修改等操做。

    execute方法通常用於執行DDL(CREATE、DROP等)語句,或是執行DML(INSERT  UPDATE  DELETE等)語句

    stmt.execute("DROP TABLE IF EXISTS t_books");

    executeQuery通常用於執行SELECT語句,這個方法經過一個ResultSet對象返回查詢結果,代碼:

    ResultSet rs = stmt.executeQuery("SELECT * FORM t_books");

    (4)關閉數據庫

    將打開的對象依次關閉:stmt.close()    conn.close().

部分來自尚學堂。

相關文章
相關標籤/搜索