java对数据库更新的操作方式及注意事项
作者:堕落年代
这篇文章主要介绍了java对数据库更新的操作方式及注意事项,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
java对数据库更新的操作方式
如果要进行数据的更新操作只允许一个关键键
可以有多个修改键
String sql="update "+mysql_information.get_mysql_table()+" set "+new_map+" where "+old_map; //old_map里面只能有一个键值对,这个键值对是对数据的关键键 //new_mpa里面是修改的数据键值对,每个数据要用逗号隔开 //不管是old_map还是new_map参数的格式为:key='value'
完整代码
如下:
import mysql.mysql_information; import javax.naming.spi.DirectoryManager; import javax.servlet.annotation.WebServlet; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.sql.Statement; import java.util.Iterator; import java.util.Map; import java.util.Set; public class Modification { public void Modification_sql(Map<String, String> old_date, Map<String, String> new_date) { try { Class.forName("com.mysql.jdbc.Driver"); mysql_information mysql_information = new mysql_information(); Connection conn = DriverManager.getConnection(mysql_information.get_mysql_dir(), mysql_information.get_username(), mysql_information.get_password()); Statement st = conn.createStatement(); Iterator<String> it = old_date.keySet().iterator(); StringBuilder old_map= new StringBuilder(); String key ; String value ; while (it.hasNext()) { key = it.next(); value = old_date.get(key); if(key.equals("name")||key.equals("id")){ old_map.append(key).append("='").append(value).append("'"); break; } } it = new_date.keySet().iterator(); StringBuilder new_map = new StringBuilder(); while (it.hasNext()) { key = it.next(); value = new_date.get(key); if(!it.hasNext()){ new_map.append(key).append("='").append(value).append("'"); }else{ new_map.append(key).append("='").append(value).append("',"); } } String sql = "update " + mysql_information.get_mysql_table() + " set " + new_map + " where " + old_map; System.out.println(sql); try { st.executeUpdate(sql); } catch (Exception e) { System.out.println("数据更新失败"); } conn.close(); st.close(); } catch (ClassNotFoundException | SQLException ex) { System.out.println("数据库连接失败"); } } }
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。