Java连接数据库(1)
環境:netbeans
Java訪問數據庫有兩種方法,第一種是JDBC-ODBC橋驅動程序,第二種是使用專用的數據庫驅動程序。
這兩種方法是這個意思:ODBC是微軟開發出來的驅動程序,這個驅動程序可以用于連接絕大多數數據庫比如mysql, postgresql,access,sql server,但是這個驅動程序是用C++寫的,在java中不能直接使用,這樣java開發者就弄了個JDBC-ODBC橋驅動程序,在java中通過這個JDBC-ODBC橋驅動程序來間接使用ODBC,從而可以連接絕大多數數據庫。這其實是一種偷懶的做法。由于連接數據庫要經過很多環節,所以效率可能不高,Sun公司不推薦這種方法。但是使用起來很方便,因為JDBC-ODBC橋驅動程序已經安裝在了JAVA開發環境中,第二種方法就需要另外去數據庫的官網下載相應的驅動程序。
專用的數據庫驅動程序,就麻煩一點,但是更直接。每個數據庫廠商需要單獨開發一個數據庫驅動程序,當然使用Java開發。然后在Java中使用這些驅動程序連接數據庫。這樣就大大減少了中間環節,效率就提高了。下面分別使用這兩種方法來連接mysql和postgresql數據庫。使用Java訪問數據庫,一般有這5個步驟(1)加載驅動程序。(2)建立連接對象。(3)創建語句對象。(4)獲得sql執行結果的數據集。(5)關閉結果數據集,關閉語句對象,關閉連接。
(一)使用JDBC-ODBC訪問mysql
我在mysql中創建了一個courseselection的數據庫,數據庫中有一個courses表。由于用到了ODBC驅動程序,所以首先要注冊一個mysql的數據源。方法是:【控制面板】-【管理工具】-【數據源】-【系統DSN】標簽卡,點擊添加,出現【創建數據源】對話框,選擇其中的mysql odbc driver
出現配置界面,如下填寫(其中密碼默認為123456)
這樣就注冊了一個數據源。其中連接的是courseselection數據庫。
其余代碼如下:
package try1;import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement;public class MySqlOdbcDemo {public static void main(String[] args) throws Exception{//加載JDBC-ODBC橋驅動程序Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//設置數據源, myData是注冊的數據源,連接的是courseselection數據庫String dburl="jdbc:odbc:myData";//getConnection(數據源, 用戶名, 密碼)Connection conn = DriverManager.getConnection(dburl, "root", "123456");String sql = "Select * from courses";Statement stmt = conn.createStatement();ResultSet rst = stmt.executeQuery(sql);while (rst.next()){//由于數據庫與java中的默認編碼不一致,所以不能直接讀字符串,先讀字節,然后轉換String st = new String(rst.getBytes(2), "UTF-8");System.out.println(rst.getString(1) + ": " + st);}rst.close();stmt.close();conn.close();} } 結果如下:
run: a0101: 高等數學 a0102: 線性代數 b0011: 數據結構 b0101: 數字電路 b0111: 數據庫 b0201: 數字電路 成功生成(總時間:0 秒)
總結
以上是生活随笔為你收集整理的Java连接数据库(1)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: matlab中的square函数
- 下一篇: Evince中文乱码