圖書管理系統總結——數據庫操作(一)
阿新 • • 發佈:2017-05-14
set 結果集 static () block csdn .com oid 取數據
由於經常在晚上回宿舍寫代碼,沒有網,故而沒用老師提供的Oracle數據庫服務器,在自己電腦上裝了一個MySQL。而且JAVA配MySQL還是很方便的。
數據庫連接:
參考了http://blog.csdn.net/superit401/article/details/51585620,講的十分全面。
這裏數據庫連接專門作為一個工具類,連接的是自己的MyQL數據庫。由於像登錄,充值這樣關鍵事務需要註意保證一致性,所以顯示指定了事務,並為之添加行級鎖,故而還有一些與數據庫事務相關的操作都封裝在這個類中。
/** * 數據庫工具類 * @author Administrator * */ public classDbUtil { private String dbUrl="jdbc:mysql://localhost:3306/db_book"; // 數據庫連接地址://202.38.88.99:1434/student private String dbUserName="root"; // 用戶名student private String dbPassword="student"; // 密碼 private String jdbcName="com.mysql.jdbc.Driver"; // 驅動名稱 /** * 獲取數據庫連接 * @return *@throws Exception */ public Connection getCon()throws Exception{ Class.forName(jdbcName); Connection con=DriverManager.getConnection(dbUrl, dbUserName, dbPassword); return con; } /** * 關閉數據庫連接 * @param con * @throws Exception */ publicvoid closeCon(Connection con)throws Exception{ if(con!=null){ con.close(); } } /** * 關閉連接表對象 * @param pstmt */ public static void close(java.sql.PreparedStatement pstmt){ if (pstmt!=null) { try { pstmt.close(); } catch (SQLException e) { e.printStackTrace(); } } } /** * 關閉結果集,釋放資源 * @param rs */ public static void close(ResultSet rs) { if(rs!=null){ try { rs.close(); } catch (SQLException e) { e.printStackTrace(); } } } /** * 關閉自動提交事務 * @param conn */ public static void beginTransaction(Connection conn){ if (conn!=null) { try { if(conn.getAutoCommit()){ conn.setAutoCommit(false); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } /** * 提交事務 * @param conn */ public static void commitTransaction(Connection conn){ try { if(conn!=null){ if (!conn.getAutoCommit()) { conn.commit(); } } } catch (Exception e) { // TODO: handle exception } } /** * 回滾事務 * @param conn */ public static void rollbackTransaction (Connection conn) { try { if(conn!=null){ if (!conn.getAutoCommit()) { conn.rollback(); } } } catch (Exception e) { // TODO: handle exception } } /** * 將是否自動提交事務權限取反 * @param conn */ public static void resetTransaction(Connection conn){ try { if(conn!=null) { if (conn.getAutoCommit()) { conn.setAutoCommit(false); }else{ conn.setAutoCommit(true); } } } catch (Exception e) { // TODO: handle exception } } /** * 主函數,測試使用 * @param args */ public static void main(String[] args) { DbUtil dbUtil=new DbUtil(); try { dbUtil.getCon(); System.out.println("數據庫連接成功!"); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); System.out.println("數據庫連接失敗"); } } }
圖書管理系統總結——數據庫操作(一)