package com.wgh.core; //將該類保存到com.wgh.core包中
import java.io.InputStream; //導入java.io.InputStream類
import java.sql.*; //導入java.sql包中的所有類
import java.util.Properties; //導入java.util.Properties類
public class ConnDB {
public Connection conn = null; // 聲明Connection對象的實例
public Statement stmt = null; // 聲明Statement對象的實例
public ResultSet rs = null; // 聲明ResultSet對象的實例
private static String propFileName = "/com/connDB.properties"; // 指定資源文件保存的位置
private static Properties prop = new Properties(); // 創建並實例化Properties對象的實例
private static String dbClassName = "com.microsoft.jdbc.sqlserver.SQLServerDriver";//定義保存數據庫驅動的變量
private static String dbUrl = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=db_netExam";
private static String dbUser = "sa";
private static String dbPwd = "";
public ConnDB() { //定義構造方法
try { //捕捉異常
//將Properties文件讀取到InputStream對象中
InputStream in = getClass().getResourceAsStream(propFileName);
prop.load(in); // 通過輸入流對象加載Properties文件
dbClassName = prop.getProperty("DB_CLASS_NAME"); // 獲取數據庫驅動
dbUrl = prop.getProperty("DB_URL", dbUrl); //獲取URL
dbUser = prop.getProperty("DB_USER", dbUser); //獲取登錄用戶
dbPwd = prop.getProperty("DB_PWD", dbPwd); //獲取密碼
} catch (Exception e) {
e.printStackTrace(); // 輸出異常信息
}
}
public static Connection getConnection() {
Connection conn = null;
try {
Class.forName(dbClassName).newInstance();
conn = DriverManager.getConnection(dbUrl, dbUser, dbPwd);
} catch (Exception ee) {
ee.printStackTrace();
}
if (conn == null) {
System.err
.println("警告: DbConnectionManager.getConnection() 獲得數據庫鏈接失敗.\r\n\r\n鏈接類型:"
+ dbClassName
+ "\r\n鏈接位置:"
+ dbUrl
+ "\r\n用戶/密碼"
+ dbUser + "/" + dbPwd);
}
return conn;
}
/*
* 功能:執行查詢語句
*/
public ResultSet executeQuery(String sql) {
try { // 捕捉異常
conn = getConnection(); // 調用getConnection()方法構造Connection對象的一個實例conn
stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY);
rs = stmt.executeQuery(sql);
} catch (SQLException ex) {
System.err.println(ex.getMessage()); // 輸出異常信息
}
return rs; // 返回結果集對象
}
/*
* 功能:執行更新操作
*/
public int executeUpdate(String sql) {
int result = 0; // 定義保存返回值的變量
try { // 捕捉異常
conn = getConnection(); // 調用getConnection()方法構造Connection對象的一個實例conn
stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY);
result = stmt.executeUpdate(sql); // 執行更新操作
} catch (SQLException ex) {
result = 0; // 將保存返回值的變量賦值爲0
}
return result; // 返回保存返回值的變量
}
/*
* 功能:關閉數據庫的連接
*/
public void close() {
try { // 捕捉異常
if (rs != null) { // 當ResultSet對象的實例rs不爲空時
rs.close(); // 關閉ResultSet對象
}
if (stmt != null) { // 當Statement對象的實例stmt不爲空時
stmt.close(); // 關閉Statement對象
}
if (conn != null) { // 當Connection對象的實例conn不爲空時
conn.close(); // 關閉Connection對象
}
} catch (Exception e) {
e.printStackTrace(System.err); // 輸出異常信息
}
}
}
Java web項目 在線網絡考試數據庫連接部分代碼
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.