jdbc概念:簡而言之就是定義了一套操作所有關係型資料庫的規則(介面)
流程:-->1. 註冊驅動
-->2. 獲取資料庫連線物件
-->3. 定義sql
-->4. 定義獲取執行sql的物件
-->5. 執行sql,返回結果集resultset
-->6. 遍歷結果集,封裝物件,裝載集合
-->7. 釋放資源
packagecom.meng.jdbc;
import
com.meng.entity.user;
import j**a.sql.*;
import
j**a.util.arraylist;
import
j**a.util.list;
public
class
jdbcdemo1
/***
* 查詢所有user
* @return
*/public listfindall()
} catch (classnotfoundexception |sqlexception e)
finally
catch
(sqlexception e)
}if(statement != null
) catch
(sqlexception e)
}if(conn != null
) catch
(sqlexception e) }}
return
list;
}}
上面這個方案在每次做crud的時候都要重新獲取資料庫連線物件,我們將封裝成乙個工具類來簡化操作。
分析:1、抽取註冊驅動;
2、抽取乙個獲取資料庫連線物件的方法;
*需求:不想在getconnection中傳遞引數,保證工具類的通用性。
*解決方案: 配置檔案方式 jdbc.properties
3、抽取乙個釋放資源的方法
packagecom.meng.utils;
import
j**a.io.filereader;
import
j**a.io.ioexception;
import
j**a.net.url;
import j**a.sql.*;
import
j**a.util.properties;
public
class
jdbcutils
catch (ioexception |classnotfoundexception e)
}/***
* 獲取連線
* @return
*/public
static connection getconnection() throws
sqlexception
/***
* 釋放資源
* @param
statement
* @param
connection
*/public
static
void
close(resultset resultset, statement statement, connection connection)
catch
(sqlexception e)
}//釋放statement
if(statement != null
) catch
(sqlexception e)
}//釋放connection
if(connection != null
) catch
(sqlexception e) }}
}
packagecom.meng.jdbc;
import
com.meng.utils.jdbcutils;
import j**a.sql.*;
import
j**a.util.scanner;
public
class
jdbcdemo5
else
}/*** 登入方法
*/public
boolean
login(string name,string password)
connection connection = null
; preparedstatement preparedstatement = null
; resultset resultset = null
;
try
catch
(sqlexception e)
finally
return
false
; }
}
1.操作
開啟事務:setautocommit(boolean autocommit); //呼叫該方法設定引數為false,即開啟事務
提交事務:commit();
回滾事務:rollback();
2.使用connection來管理事務
packagecom.meng.jdbc;
import
com.meng.utils.jdbcutils;
import
j**a.sql.connection;
import
j**a.sql.preparedstatement;
import
j**a.sql.sqlexception;
public
class
jdbcdemo6
catch
(sqlexception e)
catch
(sqlexception ex)
e.printstacktrace();
}finally
}}
JDBC 事務 與 基本操作模板
jdbc 事物處理 事務 指構成單個邏輯工作單元的操作集合 事務處理 保證所有事務都作為乙個工作單元來執行,即使出現了故障,都不能改變這種執行方式。當在乙個事務中執行多個操作時,要麼所有的事務都被提交 commit 要麼整個事務回滾 rollback 到最初狀態 當乙個連線物件被建立時,預設情況下是...
JDBC事務操作和DBUtils事務
jdbc事務操作 預設是自動事務 執行sql語句 executeupdate 每次執行executeupdate 方法 代表事務自動提交 通過jdbc的api手動事務 開啟事務 conn.setautocomnmit false 提交事務 conn.commit 回滾事務 conn.rollback...
JDBC基本操作
jdbc基本操作 載入驅動 class.forname com.mysql.jdbc.driver newinstance 建立連線 string url jdbc mysql localhost 3306 testdb?user root password root useunicode true...