java数据实时更新_Java连载137更新数据和删除数据

一时失言乱红尘 2023-01-01 09:58 188阅读 0赞

一、数据更新语句的命令格式如下:

  1. UPDATE SET column_name = 'xxx' WHERE
  • 在更新数据的时候既可以使用Statement实例通过UPDATE语句完成,也可以利用PreparedStatement实例通过执行UPDATE语句来完成,还可以利用CallableStatement实例通过执行存储过程完成。
  • (1)利用Statement实例通过执行静态UPDATE语句举例

    String sql = “update tb_record set salary=3000 where duty=’部门经理’”; statement.executeUpadate(sql);

  • (2)利用PreparedStatement实例通过执行动态UPDATE语句

    String sql = “update tb_record set salary=? where duty = ?”; PreparedStatement prpdStmt = connection.prepareStatement(sql); prpdStmt.setInt(1,3000); prpdStmt.setString(2,”部门经理”); prpdStmt.executeUpdate();

  • (3)利用CallableStatement实例执行存储过成修改数据的实例

    String call = “{call pro_record_update_salary_by_duty(?,?); CallaleStatement cablStmt = connection.prepareCall(call); cablStmt.setInt(1,3000); cablStmt.setString(2,”部门经理”); cablStmt.executeUpdate();

  • 无论使用哪种实例修改数据,都需要执行executeUpdate()方法,该方法将会返回一个int型值,用于记录被修改的条数

    package com.bjpowernode.java_learning; import java.sql.Statement; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class D137_1_UpdateInformation { private static final String URL = “jbdc:Access:///e:xsgl.mdb”; static { try { Class.forName(“com.hxtt.sql.access.AccessDriver”); }catch(ClassNotFoundException e) { e.printStackTrace();//输出捕捉到的异常信息 } } public static void main(String[] args) { try { Connection conn = DriverManager.getConnection(URL); Statement statement = conn.createStatement(); String sql = “update tb_record set Salary=Salary + 10 where Duty=’部门经理’ “; statement.executeUpdate(sql); statement.close(); conn.close(); }catch(SQLException e) { e.printStackTrace(); } } }

  • 执行该语句之后部门里面所有的部门经理薪水都会涨100

  • 接下来使用PreparedStatement来操作一遍

    package com.bjpowernode.java_learning; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.SQLException; public class D137_2_PreparedStatementUpdate { private static final String URL = “jbdc:Access:///e:xsgl.mdb”; static { try { Class.forName(“com.hxtt.sql.access.AccessDriver”); }catch(ClassNotFoundException e) { e.printStackTrace();//输出捕捉到的异常信息 } } public static void main(String[] args) { try { Connection conn = DriverManager.getConnection(URL); String[][] infos = { {“A”,”200”},{“B”,”100”}}; String sql = “update tb_record set salary=salary+? where cname=?”; PreparedStatement prpdStmt = conn.preparedStatement(sql); prpdStmt.clearBatch(); for(int i=0;i prpdStmt.setInt(1, Integer.valueOf(infos[i][1]).intValue()); prpdStmt.setString(2, infos[i][0]); prpdStmt.addBatch(); } prpdStmt.executeBatch(); prpdStmt.close(); conn.close(); }catch(SQLException e) { e.printStackTrace(); } } }

二、源码:

  • D137_1_UpdateInformation.java
  • D137_2_PreparedStatementUpdate
  • https://github.com/ruigege66/Java/blob/master/D137\_1\_UpdateInformation.java
  • https://github.com/ruigege66/Java/blob/master/D137\_2\_PreparedStatementUpdate
  • CSDN:https://blog.csdn.net/weixin\_44630050
  • 博客园:https://www.cnblogs.com/ruigege0000/
  • 欢迎关注微信公众号:傅里叶变换,个人账号,仅用于技术交流
  • ec2761b82ff060a03e82402828ce116c.png 1000.0

发表评论

表情:
评论列表 (有 0 条评论,188人围观)

还没有评论,来说两句吧...

相关阅读