java数据实时更新_Java连载137更新数据和删除数据
一、数据更新语句的命令格式如下:
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
///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
///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/
- 欢迎关注微信公众号:傅里叶变换,个人账号,仅用于技术交流
1000.0
还没有评论,来说两句吧...