<b>JDBC中的增添、删除、改正操作的共用办法</b>[Java编程]
本文“<b>JDBC中的增添、删除、改正操作的共用办法</b>[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
用来实现增添、删除、改正操作的共用办法.分为两个办法,一个是设置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. 关闭不需求的资源
以上是“<b>JDBC中的增添、删除、改正操作的共用办法</b>[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |