代码中包含修改一条数据、修改多条数据、考虑数据库事务后的修改操作
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); } } }