Java 通過JDBC串連Mysql資料庫_java

來源:互聯網
上載者:User

JDBC(Java Data Base Connectivity,java資料庫連接)是一種用於執行SQL語句的Java API,可以為多種關聯式資料庫提供統一訪問,它由一組用Java語言編寫的類和介面組成。JDBC提供了一種基準,據此可以構建更進階的工具和介面,使資料庫開發人員能夠編寫資料庫應用程式。

如果要使用資料庫就要添加資料庫的驅動,不同的資料庫有不用的驅動,這裡就不一一說明,添加jar程式驅動包的方法就不在這裡解釋,

另一個文章裡面有介紹http://www.jb51.net/article/47945.htm

下面是一個執行個體去介紹mysql資料庫的串連,其它資料庫的方法也是差不多的。

import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Connection;import java.sql.Statement;public class MysqlDemo {  public static void main(String[] args) throws Exception {    Connection conn = null;    String sql;    // MySQL的JDBC URL編寫方式:jdbc:mysql://主機名稱:串連連接埠/資料庫的名稱?參數=值    // 避免中文亂碼要指定useUnicode和characterEncoding    // 執行資料庫操作之前要在資料庫管理系統上建立一個資料庫,名字自己定,    // 下面語句之前就要先建立javademo資料庫    String url = "jdbc:mysql://localhost:3306/javademo?"        + "user=root&password=root&useUnicode=true&characterEncoding=UTF8";    try {      // 之所以要使用下面這條語句,是因為要使用MySQL的驅動,所以我們要把它驅動起來,      // 可以通過Class.forName把它載入進去,也可以通過初始化來驅動起來,下面三種形式都可以      Class.forName("com.mysql.jdbc.Driver");// 動態載入mysql驅動      // or:      // com.mysql.jdbc.Driver driver = new com.mysql.jdbc.Driver();      // or:      // new com.mysql.jdbc.Driver();      System.out.println("成功載入MySQL驅動程式");      // 一個Connection代表一個資料庫連接      conn = DriverManager.getConnection(url);      // Statement裡面帶有很多方法,比如executeUpdate可以實現插入,更新和刪除等      Statement stmt = conn.createStatement();      sql = "create table student(NO char(20),name varchar(20),primary key(NO))";      int result = stmt.executeUpdate(sql);// executeUpdate語句會返回一個受影響的行數,如果返回-1就沒有成功      if (result != -1) {        System.out.println("建立資料表成功");        sql = "insert into student(NO,name) values('2012001','陶偉基')";        result = stmt.executeUpdate(sql);        sql = "insert into student(NO,name) values('2012002','周小俊')";        result = stmt.executeUpdate(sql);        sql = "select * from student";        ResultSet rs = stmt.executeQuery(sql);// executeQuery會返回結果的集合,否則返回空值        System.out.println("學號\t姓名");        while (rs.next()) {          System.out              .println(rs.getString(1) + "\t" + rs.getString(2));// 入如果返回的是int類型可以用getInt()        }      }    } catch (SQLException e) {      System.out.println("MySQL操作錯誤");      e.printStackTrace();    } catch (Exception e) {      e.printStackTrace();    } finally {      conn.close();    }  }}

另附上JDBC串連各種資料庫的方法(經典)

1)串連Oracle 8/8i/9i/10g/11g(thin模式)

Class.forName("oracle.JDBC.driver.OracleDriver").newInstance();String url="JDBC:oracle:thin:@localhost:1521:orcl"    //orcl為Oracle資料庫的SIDString user="test";String password="test";Connection con=DriverManager.getConnection(url,user,password);

2)串連DB2資料庫

Class.forName("com.ibm.db2.jcc.DB2Driver");String url="JDBC:db2://localhost:5000/testDb";String user="test"; String password="test";Connection con=DriverManager.getConnection(url,user,password);

3)串連MySQL資料庫

Class.forName("com.mysql.jdbc.Driver");String url="JDBC:mysql://localhost:8080/testDB";String user="test"; String password="test";Connection con=DriverManager.getConnection(url,user,password);

4)串連SQL Server2000資料庫

Class.forName("com.microsoft.JDBC.sqlserver.SQLServerDriver");String url="JDBC:microsoft:sqlserver://localhost:1433;DatabaseName=testDb";String user="test"; String password="test";Connection con=DriverManager.getConnection(url,user,password);

5)串連PostgreSQL資料庫

Class.forName("org.postgresql.Driver");String url="JDBC:postgresql://localhost/testDb";String user="test"; String password="test";Connection con=DriverManager.getConnection(url,user,password);

6)串連Access資料庫

複製代碼 代碼如下:
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

String url="JDBC:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ="+application.getRealPath("/Data/testDb/mdb");

Connection conn=DriverManager.getConnection(url,"","");

7串連Sybase資料庫

Class.forName("com.sybase.JDBC.SybDriver");String url="JDBC:sybase:Tds:localhost:5007/testDb";Properties pro=System.getProperties();pro.put("user","userId");pro.put("password","user_password");Connection con=DriverManager.getConnection(url,pro);

8串連informix資料庫

複製代碼 代碼如下:
Class.forName("com.informix.JDBC.ifxDriver");

String url="JDBC:informix-sqli:localhost:1533/testDb:INFORMIXSERVER=myserver"user=testUser;password=testpassword"; Connection con=DriverManager.getConnection(url);

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.