91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JDBC中的添加、刪除、修改操作的共用方法是什么

發布時間:2021-07-12 15:29:42 來源:億速云 閱讀:138 作者:chen 欄目:編程語言

本篇內容主要講解“JDBC中的添加、刪除、修改操作的共用方法是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“JDBC中的添加、刪除、修改操作的共用方法是什么”吧!

用來實現添加、刪除、修改操作的共用方法。分為兩個方法,一個是設置PreparedStatement ps;對象參數的方法。一個是執行泛型PreparedStatement ps;對象的.

下面來看一下吧:

/*

* Author:spring

* Date :09-03-06 20:28

*/

private PreparedStatement setPreparedStatement(PreparedStatement ps,

List pars) throws SQLException {

try {

// 1.獲取數組的長度這樣能提高一點性能

int x = pars.size();

// 2.循環設置ps中需要的參數

for (int i = 0; i ﹤ x; i++) {

ps.setObject(i + 1, pars.get(i));

System.out.println(pars.get(i));

}

// 3.添加到緩沖區中

ps.addBatch();

// 4.設置完參數的ps返回

return ps;

} finally {

}

}

/*

* 執行PreparedStatement泛型列表的方法

*/

privateboolean exceurePreparedStatement(List﹤PreparedStatement> pss)

throws SQLException {

int x = 0;

try {

// 1.為手動提交

this.conn.setAutoCommit(false);

// 2.執行所有的PreparedStatement對象

x = pss.size();

for (int i = 0; i ﹤ x; i++) {

pss.get(i).executeBatch();

}

// 3.沒有錯誤的話的就提交事務

this.conn.commit();

System.out.println("執行executeBatch()");

// 4.如果提交成功那就返回成功true

returntrue;

} catch (Exception e) {

// 出現異常回滾事務

e.printStackTrace();

System.out.println("執行批量時error");

this.conn.rollback();

//個性化異常

thrownew MyException("page.error.1000","1000 數據執行的批量出錯.");

//throw new SQLException();

} finally {

// ***把手動提交改為自動提交

this.conn.setAutoCommit(true);

// 關閉不用的資源

for (int i = 0; i ﹤ x; i++) {

DBUtils.close(pss.get(i));

}

}

}

//下面來介紹一下它們的用法

要實現一個用戶添加的功能,在添加的同時還要往log日志表中添加是誰操作的

這就要用到事務處理了

/*

     *添加用戶

     */

    public Boolean add_Users() throws SQLException {

       try {

           // 1.要執行的sql語句

           sql1 = new StringBuilder()

           .append("insert into spring_users(U_ID,u_Name,u_Password,u_Email,u_State)")

           .append(" values(SEQ_USERS.NEXTVAL,?,?,?,?)");

           // 添加日志

           sql2 = new StringBuilder()

                  .append("insert into SPRING_LOG(L_ID,L_NAME,U_ID,L_MESSAGE,L_DATE)")

                  .append(" values(SEQ_LOG.nextval,?,?,?,?)");

           // 2.要設置的參數列表

           pars1 = new ArrayList();

           pars1.add(dto.get("u_Name")); // 用戶名

           pars1.add(dto.get("u_Password")); // 用戶密碼

           pars1.add(dto.get("u_Email")); // 用戶E-email

           pars1.add(dto.get("u_Rating"));//權限與用戶狀態

           // 獲取當前操作員的u_id

           String u_Id = (String) dto.get("u_Id");

           pars2 = new ArrayList();

           pars2.add("SPRING_USERS"); // 設置1 操作的表名

           pars2.add(u_Id); // 設置2 操作人id

           pars2.add("這是用戶添加操作:用戶名:" + this.dto.get("u_Name"));// 設置3

                                                        // 描述看看是不是添加操作

           pars2.add(Tools.getSqlTimestamp()); // 設置4 操作時間

           // 3.編譯sql語句并設置參數

           pss = new ArrayList();

           ps1 = this.conn.prepareStatement(sql1.toString());

           ps2 = this.conn.prepareStatement(sql2.toString());

           // 設置參數

           pss.add(this.setPreparedStatement(ps1, pars1));

           pss.add(this.setPreparedStatement(ps2, pars2));

           // 4.調用執行sql語句的方法

           returnthis.exceurePreparedStatement(pss);

       } finally {

           // 5.釋放使用資源

           DBUtils.close(ps1);

           DBUtils.close(ps2);

       }

    }

這里的一些方法是我封裝的像獲取當前用戶的u_id , String u_Id = (String) dto.get("u_Id");這是我用的構造傳過來的dto所以我們不用管它;

分析一下用法:

1. 設置sql語句

2. 編譯sql語句(用PreparedStatement)

3. 定義一個泛型PreparedStatement

4. 設置PreparedStatement的參數返回來添加到泛型里

5. 調用執行泛型中的PreparedStatement 對象

6. 關閉不需要的資源

到此,相信大家對“JDBC中的添加、刪除、修改操作的共用方法是什么”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

全南县| 深圳市| 屏边| 惠东县| 平潭县| 五家渠市| 凤山市| 遵义县| 郴州市| 绥滨县| 巫溪县| 安国市| 安丘市| 营口市| 西峡县| 巴青县| 枞阳县| 长沙县| 大关县| 宁陕县| 玛多县| 凉山| 巴林右旗| 鹤山市| 遂平县| 利辛县| 固阳县| 杂多县| 綦江县| 株洲市| 扎赉特旗| 高碑店市| 房山区| 十堰市| 陇南市| 兴山县| 柏乡县| 阳江市| 精河县| 德安县| 潼关县|