JDBC基本操作與事務

2022-09-11 09:42:06 字數 3075 閱讀 4971

jdbc概念:簡而言之就是定義了一套操作所有關係型資料庫的規則(介面)

流程:-->1. 註冊驅動

-->2. 獲取資料庫連線物件

-->3. 定義sql

-->4. 定義獲取執行sql的物件

-->5. 執行sql,返回結果集resultset

-->6. 遍歷結果集,封裝物件,裝載集合

-->7. 釋放資源

package

com.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、抽取乙個釋放資源的方法

package

com.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) }}

}

package

com.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來管理事務

package

com.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...