JDBC学习(五):研究修改操作源代码

简介: JDBC学习(五):研究修改操作源代码

代码中包含修改一条数据、修改多条数据、考虑数据库事务后的修改操作


package demo02;
import java.sql.Connection;
import java.sql.PreparedStatement;
import org.junit.jupiter.api.Test;
import utils.JDBCUtils;
/***
 * 实现数据库的修改操作
 * 
 * @author pc
 *
 */
public class PrepaerdStatementUpdate {
  /***
   * 修改表中一条数据
   */
  @Test
  public void testUpdate() {
    Connection conn = null;
    PreparedStatement ps = null;
    try {
      // 1. 数据库连接
      conn = JDBCUtils.getConnection();
      // 2. 预编译sql语句
      String sql = "update beauty set phone = ? where id = ?";
      ps = conn.prepareStatement(sql);
      // 3. 填充占位符
      ps.setObject(1, 1354978648);
      ps.setObject(2, 13);
      // 4. 执行
      ps.execute();
    } catch (Exception e) {
      e.printStackTrace();
    } finally {
      // 5. 资源关闭
      JDBCUtils.closeResourse(conn, ps);
    }
  }
  /***
   * 测试通用修改操作
   */
  @Test
  public void testCommonUpdate() {
    String sql = "delete from beauty where id = ?";
    update(sql,14);
  }
  /***
   * 通用的修改操作
   * @param sql
   * @param args
   */
  public static void update(String sql, Object... args){
    Connection conn = null;
    PreparedStatement ps = null;
    try {
      // 连接数据库
      conn = JDBCUtils.getConnection();
      // 预编译sql语句
      ps = conn.prepareStatement(sql);
      // 填充占位符
      for (int i = 0; i < args.length; i++) {
        ps.setObject(i + 1, args[i]);
      }
      // 4. 执行
      ps.execute();
    }  catch (Exception e) {
      e.printStackTrace();
    }finally {
      // 5. 资源关闭
      JDBCUtils.closeResourse(conn, ps);
    }
  }
    /***
     * 考虑事务后的update
     * @param sql
     * @param args
     */
    public static void update_(Connection conn, String sql, Object... args){
      PreparedStatement ps = null;
      try {
        // 连接数据库
        conn = JDBCUtils.getConnection();
        // 预编译sql语句
        ps = conn.prepareStatement(sql);
        // 填充占位符
        for (int i = 0; i < args.length; i++) {
          ps.setObject(i + 1, args[i]);
        }
        // 4. 执行
        ps.execute();
      }  catch (Exception e) {
        e.printStackTrace();
      }finally {
        // 5. 资源关闭(数据库连接由外部传入,不要关)
        JDBCUtils.closeResourse(null, ps);
      }
  }
}
相关文章
|
8月前
|
SQL Java 数据库连接
java使用jdbc操作数据库
java使用jdbc操作数据库
|
8月前
|
Java 数据库 数据安全/隐私保护
基于JavaSE+JDBC使用控制台操作的简易购物系统【源码+数据库】
基于JavaSE+JDBC使用控制台操作的简易购物系统【源码+数据库】
103 0
|
SQL Java 数据库连接
Hive教程(08)- JDBC操作Hive
Hive教程(08)- JDBC操作Hive
1027 0
|
SQL Java 关系型数据库
Java的JDBC编程<-----用Java代码操作数据库(MySQL数据库)
Java的JDBC编程<-----用Java代码操作数据库(MySQL数据库)
65 0
|
8月前
|
Java 关系型数据库 数据库连接
实时计算 Flink版操作报错之在使用JDBC连接MySQL数据库时遇到报错,识别不到jdbc了,怎么解决
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
8月前
|
SQL Java 数据库连接
Java JDBC连接与操作深度解析
Java JDBC连接与操作深度解析
57 1
|
8月前
|
Java 数据库连接 数据库
实时计算 Flink版操作报错合集之flink jdbc写入数据时,长时间没写入后报错,是什么原因导致的
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
313 9
|
7月前
|
SQL Java 数据库连接
使用Python通过JDBC操作数据库(达梦数据库)
使用Python通过JDBC操作数据库(达梦数据库)
1009 0
|
7月前
|
Java 数据库连接 数据库
JDBC之Statement与PreparedStatement操作数据库对比
JDBC之Statement与PreparedStatement操作数据库对比
|
8月前
|
SQL Java 数据库连接
Java从入门到精通:2.3.1数据库编程——学习JDBC技术,掌握Java与数据库的交互
ava从入门到精通:2.3.1数据库编程——学习JDBC技术,掌握Java与数据库的交互