欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java 通過(guò)JDBC連接Mysql數(shù)據(jù)庫(kù)

 更新時(shí)間:2015年11月09日 11:52:25   投稿:hebedich  
本文給大家詳細(xì)介紹了java如何使用JDBC連接Mysql的方法以及驅(qū)動(dòng)包的安裝,最后給大家附上了java通過(guò)JDBC連接其他各種數(shù)據(jù)庫(kù)的方法,有需要的小伙伴可以參考下。

JDBC(Java Data Base Connectivity,java數(shù)據(jù)庫(kù)連接)是一種用于執(zhí)行SQL語(yǔ)句的Java API,可以為多種關(guān)系數(shù)據(jù)庫(kù)提供統(tǒng)一訪問(wèn),它由一組用Java語(yǔ)言編寫(xiě)的類(lèi)和接口組成。JDBC提供了一種基準(zhǔn),據(jù)此可以構(gòu)建更高級(jí)的工具和接口,使數(shù)據(jù)庫(kù)開(kāi)發(fā)人員能夠編寫(xiě)數(shù)據(jù)庫(kù)應(yīng)用程序。

如果要使用數(shù)據(jù)庫(kù)就要添加數(shù)據(jù)庫(kù)的驅(qū)動(dòng),不同的數(shù)據(jù)庫(kù)有不用的驅(qū)動(dòng),這里就不一一說(shuō)明,添加jar程序驅(qū)動(dòng)包的方法就不在這里解釋?zhuān)?/p>

另一個(gè)文章里面有介紹http://www.dbjr.com.cn/article/47945.htm

下面是一個(gè)實(shí)例去介紹mysql數(shù)據(jù)庫(kù)的連接,其它數(shù)據(jù)庫(kù)的方法也是差不多的。

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編寫(xiě)方式:jdbc:mysql://主機(jī)名稱(chēng):連接端口/數(shù)據(jù)庫(kù)的名稱(chēng)?參數(shù)=值
    // 避免中文亂碼要指定useUnicode和characterEncoding
    // 執(zhí)行數(shù)據(jù)庫(kù)操作之前要在數(shù)據(jù)庫(kù)管理系統(tǒng)上創(chuàng)建一個(gè)數(shù)據(jù)庫(kù),名字自己定,
    // 下面語(yǔ)句之前就要先創(chuàng)建javademo數(shù)據(jù)庫(kù)
    String url = "jdbc:mysql://localhost:3306/javademo?"
        + "user=root&password=root&useUnicode=true&characterEncoding=UTF8";
    try {
      // 之所以要使用下面這條語(yǔ)句,是因?yàn)橐褂肕ySQL的驅(qū)動(dòng),所以我們要把它驅(qū)動(dòng)起來(lái),
      // 可以通過(guò)Class.forName把它加載進(jìn)去,也可以通過(guò)初始化來(lái)驅(qū)動(dòng)起來(lái),下面三種形式都可以
      Class.forName("com.mysql.jdbc.Driver");// 動(dòng)態(tài)加載mysql驅(qū)動(dòng)
      // or:
      // com.mysql.jdbc.Driver driver = new com.mysql.jdbc.Driver();
      // or:
      // new com.mysql.jdbc.Driver();
      System.out.println("成功加載MySQL驅(qū)動(dòng)程序");
      // 一個(gè)Connection代表一個(gè)數(shù)據(jù)庫(kù)連接
      conn = DriverManager.getConnection(url);
      // Statement里面帶有很多方法,比如executeUpdate可以實(shí)現(xiàn)插入,更新和刪除等
      Statement stmt = conn.createStatement();
      sql = "create table student(NO char(20),name varchar(20),primary key(NO))";
      int result = stmt.executeUpdate(sql);// executeUpdate語(yǔ)句會(huì)返回一個(gè)受影響的行數(shù),如果返回-1就沒(méi)有成功
      if (result != -1) {
        System.out.println("創(chuàng)建數(shù)據(jù)表成功");
        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會(huì)返回結(jié)果的集合,否則返回空值
        System.out.println("學(xué)號(hào)\t姓名");
        while (rs.next()) {
          System.out
              .println(rs.getString(1) + "\t" + rs.getString(2));// 入如果返回的是int類(lèi)型可以用getInt()
        }
      }
    } catch (SQLException e) {
      System.out.println("MySQL操作錯(cuò)誤");
      e.printStackTrace();
    } catch (Exception e) {
      e.printStackTrace();
    } finally {
      conn.close();
    }
  }
}

另附上JDBC連接各種數(shù)據(jù)庫(kù)的方法(經(jīng)典)

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數(shù)據(jù)庫(kù)的SID

String user="test";

String password="test";

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

2)連接DB2數(shù)據(jù)庫(kù)

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數(shù)據(jù)庫(kù)

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數(shù)據(jù)庫(kù)

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數(shù)據(jù)庫(kù)

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數(shù)據(jù)庫(kù)

復(fù)制代碼 代碼如下:
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數(shù)據(jù)庫(kù)

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數(shù)據(jù)庫(kù)

復(fù)制代碼 代碼如下:
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);

相關(guān)文章

  • 詳解PipedInputStream和PipedOutputStream_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    詳解PipedInputStream和PipedOutputStream_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    這篇文章主要為大家詳細(xì)介紹了管道PipedInputStream和PipedOutputStream,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • 一文詳解Spring?AOP的配置與使用

    一文詳解Spring?AOP的配置與使用

    面向切面編程(俗稱(chēng)AOP)提供了一種面向?qū)ο缶幊?俗稱(chēng)OOP)的補(bǔ)充,面向?qū)ο缶幊套詈诵牡膯卧穷?lèi)(class),然而面向切面編程最核心的單元是切面(Aspects)。本文就來(lái)和大家聊聊AOP的配置與使用,感興趣的可以了解一下
    2022-11-11
  • java開(kāi)發(fā)使用StringUtils.split避坑詳解

    java開(kāi)發(fā)使用StringUtils.split避坑詳解

    這篇文章主要為大家介紹了java開(kāi)發(fā)使用StringUtils.split避坑詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11
  • Java rmi遠(yuǎn)程方法調(diào)用基本用法解析

    Java rmi遠(yuǎn)程方法調(diào)用基本用法解析

    這篇文章主要介紹了Java rmi遠(yuǎn)程方法調(diào)用基本用法解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-05-05
  • java內(nèi)部類(lèi)原理與用法詳解

    java內(nèi)部類(lèi)原理與用法詳解

    這篇文章主要介紹了java內(nèi)部類(lèi)原理與用法,結(jié)合實(shí)例形式分析了Java內(nèi)部類(lèi)的概念、原理、分類(lèi)及相關(guān)使用技巧,需要的朋友可以參考下
    2019-05-05
  • 深入理解Java編程線程池的實(shí)現(xiàn)原理

    深入理解Java編程線程池的實(shí)現(xiàn)原理

    這篇文章主要介紹了深入理解Java編程線程池的實(shí)現(xiàn)原理,涉及ThreadPoolExecutor類(lèi),線程池實(shí)現(xiàn)原理及示例等相關(guān)內(nèi)容,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-11-11
  • 為什么在重寫(xiě) equals方法的同時(shí)必須重寫(xiě) hashcode方法

    為什么在重寫(xiě) equals方法的同時(shí)必須重寫(xiě) hashcode方法

    Object 類(lèi)是所有類(lèi)的父類(lèi),其 equals 方法比較的是兩個(gè)對(duì)象的引用指向的地址,hashcode 是一個(gè)本地方法,返回的是對(duì)象地址值。他們都是通過(guò)比較地址來(lái)比較對(duì)象是否相等的
    2016-07-07
  • Spring Cloud Feign的使用案例詳解

    Spring Cloud Feign的使用案例詳解

    Feign是Netflix開(kāi)發(fā)的?個(gè)輕量級(jí)RESTful的HTTP服務(wù)客戶端(?它來(lái)發(fā)起請(qǐng)求,遠(yuǎn)程調(diào)?的),是以Java接?注解的?式調(diào)?Http請(qǐng)求,F(xiàn)eign被?泛應(yīng)?在Spring Cloud 的解決?案中,本文給大家介紹Spring Cloud Feign的使用,感興趣的朋友一起看看吧
    2023-02-02
  • Java特性隊(duì)列和棧的堵塞原理解析

    Java特性隊(duì)列和棧的堵塞原理解析

    這篇文章主要介紹了Java特性隊(duì)列和棧的堵塞原理解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-10-10
  • Java實(shí)現(xiàn)深度優(yōu)先搜索(DFS)和廣度優(yōu)先搜索(BFS)算法

    Java實(shí)現(xiàn)深度優(yōu)先搜索(DFS)和廣度優(yōu)先搜索(BFS)算法

    深度優(yōu)先搜索(DFS)和廣度優(yōu)先搜索(BFS)是兩種基本的圖搜索算法,可用于圖的遍歷、路徑搜索等問(wèn)題。DFS采用棧結(jié)構(gòu)實(shí)現(xiàn),從起點(diǎn)開(kāi)始往深處遍歷,直到找到目標(biāo)節(jié)點(diǎn)或遍歷完整個(gè)圖;BFS采用隊(duì)列結(jié)構(gòu)實(shí)現(xiàn),從起點(diǎn)開(kāi)始往廣處遍歷,直到找到目標(biāo)節(jié)點(diǎn)或遍歷完整個(gè)圖
    2023-04-04

最新評(píng)論