鍍金池/ 教程/ Java/ JDBC簡單示例代碼
JDBC Like子句實(shí)例
JDBC異常
JDBC排序數(shù)據(jù)實(shí)例
JDBC事務(wù)保存點(diǎn)(setSavepoint, releaseSavepoint )實(shí)例
JDBC結(jié)果集
JDBC Statement對象執(zhí)行批量處理實(shí)例
JDBC事務(wù)
JDBC SQL語法
JDBC快速入門教程
JDBC創(chuàng)建數(shù)據(jù)庫實(shí)例
JDBC流ASCII和二進(jìn)制數(shù)據(jù)
JDBC刪除表實(shí)例
JDBC Statements, PreparedStatement和CallableStatement語句
JDBC WHERE子句條件實(shí)例
JDBC插入數(shù)據(jù)實(shí)例
JDBC驅(qū)動程序類型
JDBC環(huán)境配置
JDBC數(shù)據(jù)庫連接
JDBC刪除數(shù)據(jù)實(shí)例
JDBC PrepareStatement對象執(zhí)行批量處理實(shí)例
JDBC刪除數(shù)據(jù)庫實(shí)例
JDBC事務(wù)提交/回滾實(shí)例
JDBC更新數(shù)據(jù)實(shí)例
JDBC存儲過程調(diào)用
JDBC教程
JDBC批量處理
JDBC創(chuàng)建表實(shí)例
JDBC數(shù)據(jù)類型
JDBC是什么?
JDBC簡單示例代碼
JDBC選擇數(shù)據(jù)庫實(shí)例
JDBC查詢數(shù)據(jù)實(shí)例

JDBC簡單示例代碼

本文章教程中將演示如何創(chuàng)建一個簡單的JDBC應(yīng)用程序的示例。 這將顯示如何打開數(shù)據(jù)庫連接,執(zhí)行SQL查詢并顯示結(jié)果。

這個示例代碼中涉及所有步驟,一些步驟將在本教程的后續(xù)章節(jié)中進(jìn)行說明。

創(chuàng)建JDBC應(yīng)用程序

構(gòu)建JDBC應(yīng)用程序涉及以下六個步驟 -

  • 導(dǎo)入包:需要包含包含數(shù)據(jù)庫編程所需的JDBC類的包。 大多數(shù)情況下,使用import java.sql.*就足夠了。
  • 注冊JDBC驅(qū)動程序:需要初始化驅(qū)動程序,以便可以打開與數(shù)據(jù)庫的通信通道。
  • 打開一個連接:需要使用DriverManager.getConnection()方法創(chuàng)建一個Connection對象,它表示與數(shù)據(jù)庫的物理連接。
  • 執(zhí)行查詢:需要使用類型為Statement的對象來構(gòu)建和提交SQL語句到數(shù)據(jù)庫。
  • 從結(jié)果集中提取數(shù)據(jù):需要使用相應(yīng)的ResultSet.getXXX()方法從結(jié)果集中檢索數(shù)據(jù)。
  • 清理環(huán)境:需要明確地關(guān)閉所有數(shù)據(jù)庫資源,而不依賴于JVM的垃圾收集。

示例代碼

當(dāng)您以后需要創(chuàng)建自己的JDBC應(yīng)用程序時,可將此示例可以作為模板使用,建議您收藏好此網(wǎng)頁。

此示例代碼是基于上一章完成的環(huán)境和數(shù)據(jù)庫設(shè)置之后編寫的。

FirstExample.java (F:\worksp\jdbc\FirstExample.java)中復(fù)制并粘貼以下示例,編譯并運(yùn)行如下 -


//STEP 1. Import required packages
import java.sql.*;

public class FirstExample {
   // JDBC driver name and database URL
   static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";  
   static final String DB_URL = "jdbc:mysql://localhost/emp";

   //  Database credentials
   static final String USER = "root";
   static final String PASS = "123456";

   public static void main(String[] args) {
   Connection conn = null;
   Statement stmt = null;
   try{
      //STEP 2: Register JDBC driver
      Class.forName("com.mysql.jdbc.Driver");

      //STEP 3: Open a connection
      System.out.println("Connecting to database...");
      conn = DriverManager.getConnection(DB_URL,USER,PASS);

      //STEP 4: Execute a query
      System.out.println("Creating statement...");
      stmt = conn.createStatement();
      String sql;
      sql = "SELECT id, first, last, age FROM Employees";
      ResultSet rs = stmt.executeQuery(sql);

      //STEP 5: Extract data from result set
      while(rs.next()){
         //Retrieve by column name
         int id  = rs.getInt("id");
         int age = rs.getInt("age");
         String first = rs.getString("first");
         String last = rs.getString("last");

         //Display values
         System.out.print("ID: " + id);
         System.out.print(", Age: " + age);
         System.out.print(", First: " + first);
         System.out.println(", Last: " + last);
      }
      //STEP 6: Clean-up environment
      rs.close();
      stmt.close();
      conn.close();
   }catch(SQLException se){
      //Handle errors for JDBC
      se.printStackTrace();
   }catch(Exception e){
      //Handle errors for Class.forName
      e.printStackTrace();
   }finally{
      //finally block used to close resources
      try{
         if(stmt!=null)
            stmt.close();
      }catch(SQLException se2){
      }// nothing we can do
      try{
         if(conn!=null)
            conn.close();
      }catch(SQLException se){
         se.printStackTrace();
      }//end finally try
   }//end try
   System.out.println("There are so thing wrong!");
}//end main
}//end FirstExample

把上面代碼存放到 F:\worksp\jdbc\FirstExample.java 文件中,并創(chuàng)建一個目錄:F:\worksp\jdbc\libs,下載 mysql-connector-java-5.1.40-bin.jar 放入到F:\worksp\jdbc\libs 目錄中。

下載地址:http://downloads.mysql.com/archives/c-j/

使用命令行編譯Java程序并加載指定目錄中的Jar包(mysql-connector-java-5.1.40-bin.jar):

F:\worksp\jdbc> javac -Djava.ext.dirs=./libs FirstExample.java
##-- 或者
F:\worksp\jdbc> javac -Djava.ext.dirs=F:\worksp\jdbc\libs FirstExample.java

編譯上面代碼后,得到以下結(jié)果 -

## F:\worksp\jdbc>javac -Djava.ext.dirs=./libs FirstExample.java
## 運(yùn)行程序 -
F:\worksp\jdbc>java -Djava.ext.dirs=./libs FirstExample
Connecting to database...
Tue May 30 22:43:18 CST 2017 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.
Creating statement...
ID: 100, Age: 28, First: Max, Last: Su
ID: 101, Age: 25, First: Wei, Last: Wang
ID: 102, Age: 30, First: Xueyou, Last: Zhang
ID: 103, Age: 28, First: Jack, Last: Ma
There are so thing wrong!

F:\worksp\jdbc>

完整的執(zhí)行過程如下 -

或者使用 Eclipse 或其它IDE創(chuàng)建代碼執(zhí)行。


上一篇:JDBC事務(wù)下一篇:JDBC SQL語法