成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

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

開發 后端 數據庫運維
JDBC中的添加、刪除、修改操作,一可以設置PreparedStatement ps;對象參數的方法,還可以執行泛型PreparedStatement ps;對象的方法。

用來實現添加、刪除、修改操作的共用方法。分為兩個方法,一個是設置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. 關閉不需要的資源

【編輯推薦】

  1. 關于Java 泛型的基本使用簡介象
  2. JDBC連接Oracle數據庫的十個技巧
  3. Java Applet中應用JDBC訪問數據庫
責任編輯:book05 來源: cnblogs
相關推薦

2010-10-08 11:52:29

2010-09-01 15:59:44

SQL刪除字段

2023-06-16 07:48:51

DOM對象JS

2021-06-22 10:24:22

Statement接口修改數據刪除數據

2010-11-23 15:27:00

MySQL添加字段

2018-04-08 11:10:45

GitLinux開源

2010-10-13 10:03:08

MySQL修改表結構

2010-09-02 16:40:15

SQL刪除

2010-09-28 11:38:26

sql字段

2024-09-24 10:32:02

SVNPython開發

2010-09-01 16:47:18

SQL刪除

2021-03-08 09:32:04

Python文件命令

2013-06-05 11:41:53

2010-09-02 11:34:51

SQL刪除

2010-10-19 17:28:08

SQL SERVER外

2021-07-30 10:38:40

Linux工具系統

2021-07-22 09:53:34

Vector類Java添加元素

2010-10-13 10:27:35

MySQL修改表結構

2010-07-27 15:14:08

刪除telnet

2011-08-25 11:22:39

SQL Server數據庫字段說明
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 羞羞视频在线观看网站 | 在线观看日本高清二区 | 欧美激情久久久 | 国产成人综合在线 | 亚洲成人免费电影 | 一级片网站视频 | 久久亚洲欧美日韩精品专区 | hsck成人网| 日本一区二区在线视频 | 国产精品亚洲综合 | 亚洲一区二区久久 | 男女视频网站 | 亚洲精品视频在线播放 | 夜夜草导航 | 亚洲精品不卡 | 在线播放中文 | 91久久久久久久久久久久久 | 天天曰天天干 | 美国黄色毛片 | 亚洲aⅴ | 欧美激情久久久 | 蜜桃综合在线 | 91porn成人精品| 欧美精品 在线观看 | 久久精点视频 | 亚洲欧美视频 | 一二三区视频 | 91在线观看 | 久久亚洲一区 | 午夜影院在线观看免费 | 日韩一区二区三区视频 | 欧美乱码精品一区二区三区 | 欧美日韩在线综合 | 99精品在线| av天天看 | 久草www | 国产亚洲精品一区二区三区 | 国产免费福利在线 | 国产精品毛片久久久久久久 | 国产亚洲精品精品国产亚洲综合 | 小h片免费观看久久久久 |