java最方便的資料庫操作
阿新 • • 發佈:2018-11-19
connDB.properties
DB_CLASS_NAME=com.mysql.jdbc.Driver
DB_URL=jdbc:mysql://127.0.0.1:3306/webdb?user=root&password=root&useUnicode=true
DBConnection.java
package com.mingrisoft; import java.io.InputStream; //匯入java.io.InputStream類 import java.sql.*; //匯入java.sql包中的所有類 import java.util.Properties; //匯入java.util.Properties類 public class DBConnection { public Connection conn = null; // 宣告Connection物件的例項 public Statement stmt = null; // 宣告Statement物件的例項 public ResultSet rs = null; // 宣告ResultSet物件的例項 private static String propFileName = "connDB.properties"; // 指定資原始檔儲存的位置 private static Properties prop = new Properties(); // 建立並例項化Properties物件的例項 private static String dbClassName = "com.mysql.jdbc.Driver"; // 定義儲存資料庫驅動的變數 private static String dbUrl = "jdbc:mysql://127.0.0.1:3306/webdb?user=root&password=root&useUnicode=true"; public DBConnection() { // 構造方法 try { // 捕捉異常 // 將Properties檔案讀取到InputStream物件中 InputStream in = getClass().getResourceAsStream(propFileName); prop.load(in); // 通過輸入流物件載入Properties檔案 dbClassName = prop.getProperty("DB_CLASS_NAME"); // 獲取資料庫驅動 // 獲取連線的URL dbUrl = prop.getProperty("DB_URL", dbUrl); } catch (Exception e) { e.printStackTrace(); // 輸出異常資訊 } } /** * 功能:獲取連線的語句 * * @return */ public static Connection getConnection() { Connection conn = null; try { // 連線資料庫時可能發生異常因此需要捕捉該異常 Class.forName(dbClassName).newInstance(); // 裝載資料庫驅動 conn = DriverManager.getConnection(dbUrl); // 建立與資料庫URL中定義的資料庫的連線 } catch (Exception ee) { ee.printStackTrace(); // 輸出異常資訊 } if (conn == null) { System.err .println("警告: DbConnectionManager.getConnection() 獲得資料庫連結失敗.\r\n\r\n連結型別:" + dbClassName + "\r\n連結位置:" + dbUrl); // 在控制檯上輸出提示資訊 } 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); // 輸出異常資訊 } } }
操作資料庫
DBConnection DBConn = new DBConnection();
Connection Conn = DBConn.getConnection();
Statement stmt = conn.createStatement();
ResultSet rs = null;
String Sql = "select * from Admin"; //查詢資料
rs = stmt.executeQuery(Sql);
String sql = "insert into"; //更新資料庫
stmt.executeUpdate(sql);