java對數(shù)據(jù)庫更新的操作方式及注意事項
更新時間:2025年04月30日 08:36:38 作者:墮落年代
這篇文章主要介紹了java對數(shù)據(jù)庫更新的操作方式及注意事項,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
java對數(shù)據(jù)庫更新的操作方式
如果要進行數(shù)據(jù)的更新操作只允許一個關(guān)鍵鍵
可以有多個修改鍵
String sql="update "+mysql_information.get_mysql_table()+" set "+new_map+" where "+old_map; //old_map里面只能有一個鍵值對,這個鍵值對是對數(shù)據(jù)的關(guān)鍵鍵 //new_mpa里面是修改的數(shù)據(jù)鍵值對,每個數(shù)據(jù)要用逗號隔開 //不管是old_map還是new_map參數(shù)的格式為: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("數(shù)據(jù)更新失敗");
}
conn.close();
st.close();
} catch (ClassNotFoundException | SQLException ex) {
System.out.println("數(shù)據(jù)庫連接失敗");
}
}
}總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Invalid bound statement(not found):錯誤的解決方案
本文介紹了在開發(fā)Java SpringBoot應(yīng)用程序時出現(xiàn)的"Invalidboundstatement(notfound)"錯誤的原因及解決方法,該錯誤通常與MyBatis或其他持久化框架相關(guān),可能是由于配置錯誤、拼寫錯誤或其他問題引起的,解決方法包括檢查SQL映射文件2025-01-01
SpringBoot接口路徑重復(fù),啟動服務(wù)器失敗的解決
這篇文章主要介紹了SpringBoot接口路徑重復(fù),啟動服務(wù)器失敗的解決,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-11-11
關(guān)于使用Lambda表達式簡化Comparator的使用問題
這篇文章主要介紹了關(guān)于使用Lambda表達式簡化Comparator的使用問題,文中圖文講解了Comparator對象的方法,需要的朋友可以參考下2023-04-04
關(guān)于通過java調(diào)用datax,返回任務(wù)執(zhí)行的方法
今天小編就為大家分享一篇關(guān)于通過java調(diào)用datax,返回任務(wù)執(zhí)行的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-08-08

