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("数据库连接失败");
}
}
}总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
