JDBC的學習總結

2021-08-27 01:52:55 字數 2767 閱讀 9566

最近在學習jdbc,所以總結了一下,與大家相互交流,歡迎拍磚~

以mysql資料庫為例,建立連線如下:

connection conn = null;

class.forname("com.mysql.jdbc.driver");

conn = drivermanager.getconnection("jdbc:mysql://localhost:3306/db_test", "root", "1234");

conn.close();

statement stmt = null;

//此處分為了三種情況

string strsql1 = "create table sql";

string strsql2 = "insert/update/delete sql";

string strsql3 = "select sql";

stmt = conn.createstatement();

// 1. 執行建表語句時

stmt.execute(strsql1);

// 2. 執行插入、更新、刪除語句時

stmt.executeupdate(strsql2);

// 3. 執行查詢語句時

resultset rs = stmt.executequery(strsql3);

while(rs.next())

stmt.close();

preparedstatement prepstmt = null;

// 此處分為了三種情況

string strsql1 = "create table sql";

string strsql2 = "insert/update/delete ... (?,?,?) ... sql";

string strsql3 = "select ... ? ... sql";

// 1. 執行建表語句時

prepstmt = conn.preparestatement(strsql1);

prepstmt.executeupdate();

// 2. 執行插入、更新、刪除語句時

prepstmt = conn.preparestatement(strsql2);

prepstmt.setint(1, "1001");

prepstmt.setstring(2, "angrybird");

prepstmt.setdate(3, "2012-7-8");

prepstmt.executeupdate();

// 3. 執行查詢語句時

prepstmt = conn.preparestatement(strsql3);

resultset rs = prepstmt.executequery();

while (rs.next())

prepstmt.close();

jdbc中的事務的處理:

jdbc中的事務預設是自動提交的,在執行insert語句和update語句,當update語句出錯時,insert語句還能正常插入;當把setautocommit()設為false,update語句出錯時,整個事務就會rollback,insert語句也就不能正常的插入。

preparedstatement prepstmt1 = null;

preparedstatement prepstmt2 = null;

string strsql1 = "insert sql";

string strsql2 = "update sql";

conn.setautocommit(false); // 開啟事務

prepstmt1 = conn.preparestatement(strsql1);

prepstmt1.setint(1, "1001");

prepstmt1.setstring(2, "angrybird");

prepstmt1.setdate(3, "2012-7-8");

prepstmt1.executeupdate();

prepstmt2 = conn.preparestatement(strsql2);

prepstmt2.setstring(1, "ufo");

prepstmt2.setint(2, "1001");

prepstmt2.executeupdate();

conn.commit(); // 關閉事務

jdbc中與不同資料庫連線的driver和url,如下表所示:

注:後面的圓括號中為各資料庫所預設的埠號。

dbdriver & url

oracle

driver: oracle.jdbc.driver.oracledriver

url: jdbc:oracle:thin:@::(port=1521)

mysql

driver: com.mysql.jdbc.driver

url: jdbc:mysql://:/(port=3306)

db2ur: jdbc:db2://:/(port=5000)

sql server

driver: com.microsoft.jdbc.sqlserver.sqlserverdriver

url: jdbc:microsoft:sqlserver://:;databasename=(port=1433)

JDBC學習總結

四 屬性 乙個元素的開始標誌中的名稱 值對 所有的屬性值必須位於單引號或雙引號中。每乙個元素的屬性不允許出現超過一次。開始標誌內,類似賦值語句 如 五 注釋 注釋可以出現在文件的任何位置。但不建議放在宣告前面,部分瀏覽器會報錯 注釋以 結束。注釋內不能包含雙連字元 除此之外,注釋可以包含任何內容。注...

JDBC學習總結

pl sql基礎語法入門 點我傳送 jdbc 使用driver介面實現資料庫的連線 點我傳送 jdbc 使用drivermanager實現資料庫的連線 點我傳送 jdbc 使用 statement 執行更新操作 基於oracle資料庫 點我傳送 jdbc 使用resultset 執行查詢操作 基於o...

JDBC的操作總結

jdbc 操作總結 jdbc是一組能夠執行 sql語句的 apijdbc的操作方式比較單一,簡單的分為以下幾個流程 1.通過資料庫廠商提供的jdb類庫想drivermanager註冊資料庫驅動 2.使用drivermaanger提供getconnection 方法連線到資料庫 3.通過資料庫的連線物...