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();
}
}
}
}