实现数据的批量修改

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

/**
 * @author zcq 使用预编译statement对象 PreparedStatement
 */
public class JdbcPrepared {

 public static boolean testJdbcdemoPrepare() {
  String diverName = "com.mysql.jdbc.Driver";
  String url = "jdbc:mysql://localhost:3306/netshop?"
    + "useUnicode=true&characterEncodering=utf-8";
  String username = "root";
  String password = "123";

  Connection conn = null;
  PreparedStatement ptmt = null;
  String sql_update = "UPDATE Students set stud_name=? WHERE stud_id=?";
  String sql_select = "SELECT stud_id, stud_name FROM Students";

  ResultSet rs = null;
  try {
   // 第1步:加载驱动
   Class.forName(diverName);
   // 第2步: 创建连接
   conn = DriverManager.getConnection(url, username, password);
   // 第3步: 创建PreparedStatement对象
   ptmt = conn.prepareStatement(sql_update)
   // 设定事务不默认提交
   conn.setAutoCommit(false);
   String[] names = new String[] { "张曼玉", "贝克汉姆" };
   for (int i = 0; i < names.length; i++) {
    ptmt.setString(1, names[i]);
    ptmt.setInt(2, 10001 + i);
    ptmt.executeUpdate();
   }
   conn.commit();
   // 第4步: 执行SQL语句,并获得结果集
   rs = ptmt.executeQuery(sql_select);
   // 第5步: 处理结果集
   while (rs.next()) {
    System.out.println(rs.getString("stud_id")
         + ": "
         + rs.getString ("stud_name"));
   }
   return true;

  } catch (Exception e) {
   try {
    // 回滚事务
    conn.rollback();
   } catch (SQLException e1) {
    // TODO Auto-generated catch block
    e1.printStackTrace();
   }
   return false;
  } finally {
   try {
    // 第6步: 关闭连接
    ptmt.close();
    conn.close();
   } catch (SQLException e) {
    e.printStackTrace();
   }
  }
 }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值