Java JDBC

Java JDBC


一、簡介

  • JDBC:Java Database Connectivity:Java數據庫連接

  • 是一種用於執行SQL語句的Java API,可以爲多種關係數據庫提供統一訪問,它由一組用Java語言編寫的類和接口組成,JDBC提供了一種基類,可以構建高級的工具和接口。

    JDBC包含兩個包:

  • 1、java.sql:基本功能。這個包中的類和接口主要針對基本的數據庫編程服務,如何生存連接、執行語句以及準備語句和運行批處理查詢等,同事也有一些高級的處理,比如批處理更新、事務隔離和可回滾結果集等。

  • 2、javax.sql:擴展功能。它主要爲數據方面的高級操作提供了接口和類,如爲連接管理、分佈式事務和舊有的連接提供了更好的抽象,它引入了容器管理的連接池、分佈式事務和行集等。


二、實現代碼:


import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class ConnectionDataBase {

    /**
     * 數據庫驅動類名稱
     */
    // sqlServer
    private static final String DRIVER = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
    // Oracle
    //private static final String DRIVER = "oracle.jdbc.driver.OracleDriver";

    /**
     * 連接字符串
     */
    // sqlServer
    private static final String URLSTR = "jdbc:sqlserver://localhost:1433; databaseName=sqlserverDB";
    // Oracle
    //private static final String URLSTR = "jdbc:oracle:thin:@localhost:1521:orcl";

    /**
     * 用戶名
     */
    private static final String USERNAME = "sa";

    /**
     * 密碼
     */
    private static final String USERPASSWORD = "tcaccp";

    /**
     * 創建數據庫連接對象
     */
    private Connection connnection = null;

    /**
     * 創建PreparedStatement對象
     */
    private PreparedStatement preparedStatement = null;

    /**
     * 創建CallableStatement對象
     */
    private CallableStatement callableStatement = null;

    /**
     * 創建結果集對象
     */
    private ResultSet resultSet = null;

    /**
     * 
     * @description 建立連接
     *
     * @return 數據庫連接
     */
    public Connection getConnection(){
        try {
            //加載驅動
            Class.forName(DRIVER);
            //進行連接
            connnection = DriverManager.getConnection(URLSTR, USERNAME, USERPASSWORD);
        } catch (ClassNotFoundException e) {
            System.out.println("加載驅動失敗!");
            System.out.println(e.getMessage());
            e.printStackTrace();
        } catch (SQLException e) {
            System.out.println("連接獲取失敗!");
            System.out.println(e.getMessage());
            e.printStackTrace();
        }
        return connnection;
    }
    /**
     * @description 關閉資源
     */
    public void closeAll() {
        // 關閉Connection 對象
        if (connnection != null) {
            try {
                connnection.close();
            } catch (SQLException e) {
                System.out.println(e.getMessage());
                e.printStackTrace();
            } 
        }
        // 關閉PreparedStatement對象
        if (preparedStatement != null) {
            try {
                preparedStatement.close();
            } catch (SQLException e) {
                System.out.println(e.getMessage());
                e.printStackTrace();
            }
        }
        // 關閉CallableStatement 對象
        if (callableStatement != null) {
            try {
                callableStatement.close();
            } catch (SQLException e) {
                System.out.println(e.getMessage());
                e.printStackTrace();
            }
        }
        // 關閉結果集
        if (resultSet != null) {
            try {
                resultSet.close();
            } catch (SQLException e) {
                System.out.println(e.getMessage());
                e.printStackTrace();
            }
        }

    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章