java代码数据库添加操作_java连接数据库后进行更新插入操作
接上一次的查詢操作,這次將更新與插入的代碼補充
首先是服務端的接收端,接收到客戶端的請求則發送相應操作
if ("1".equals(message)) {
//從mysql數據庫倉庫中查詢數據
jc.mysqlSelect("select * from cangku");
從oracle數據庫訂單表中查詢數據
//jc.oracleSelect("select * from freshbin_dingdan");
//當oracle數據中連接不上時候,就從本地的mysql數據庫的訂單表獲取數據
jc.mysqlSelectDingDan("select * from dingdan");
//獲取訂單表與倉庫表比較后,數量不同的結果
jc.writeIO();
//將兩張表比較后的結果返回給客戶端
os.write(jc.writeIO().toString().getBytes());
os.flush();
}
//這是更新操作的功能代碼
if("2".equals(message)) {
UpdateMySqlCangKuNumber umsck = new UpdateMySqlCangKuNumber();
//將需要更新以及插入的數據發送給客戶端
StringBuffer sb = umsck.getUpdateInsertNumber();
os.write(sb.toString().getBytes());
}
os.write(("請輸入1或2(1為查詢,2為更新):\n").getBytes());
}
然后是獲取需要更新與插入的id與數量
// 執行查詢倉庫與訂單的語句,獲取需要更細與插入的商品編號與數量
public void getNewNumber() {
// 從mysql數據庫倉庫中查詢數據并儲存起來
mysqlMap = jc.mysqlSelect("select * from cangku");
// 從mysql數據庫訂單表中獲取數據并存儲起來
mysqlDingDanMap = jc.mysqlSelectDingDan("select * from dingdan");
// 獲取倉庫表的所有數據
Set mysqlSet = mysqlMap.keySet();
// 獲取訂單表的數據
Set mysqlDingDanSet = mysqlDingDanMap.keySet();
for (Integer mn : mysqlSet) {
// 定義一個boolean類型的變量來表示當倉庫的商品編號在訂單表中不存在時,就設置為true
boolean flag = true;
for (Integer on : mysqlDingDanSet) {
if (mn.intValue() == on.intValue()) {
if (mysqlMap.get(mn).intValue() != mysqlDingDanMap.get(mn)
.intValue()) {
updateNewNumber.put(mn, mysqlMap.get(mn));
}
flag = false;
}
}
// 當flag為true時,就把訂單表中沒有的商品編號存起來
if (flag) {
insertNewNumber.put(mn, mysqlMap.get(mn));
}
}
}
接著是執行更新操作和插入操作,以及把結果以字符串的形式發送給客戶端
// 進行更新操作
public void updateNumber() {
// 執行查詢倉庫與訂單的語句,獲取需要更細與插入的商品編號與數量
getNewNumber();
// 獲取所有需要更新的商品編號
Set mysqlDingDanNumber = updateNewNumber.keySet();
for (Integer i : mysqlDingDanNumber) {
// 將需要更新的商品編號和數量更新到訂單表中
jc.getMsPool().getUPstmt(
"update dingdan set dingdannumber=? WHERE id=?", i,
updateNewNumber.get(i));
}
}
// 進行插入操作
public void insertNumber() {
// 獲取所有需要插入的商品編號
Set mysqlDingDanNumber = insertNewNumber.keySet();
for (Integer i : mysqlDingDanNumber) {
// 將需要插入的商品編號和數量插入到訂單表中
jc.getMsPool().getUPstmt(
"insert into dingdan(dingdannumber,id) values(?,?)", i,
insertNewNumber.get(i));
}
}
// 遍歷需要更新的數據,以字符串形式存儲,以便將來發送給客戶端
public StringBuffer getUpdateInsertNumber() {
// 進行更新操作
updateNumber();
// 進行插入操作
insertNumber();
// 獲取所有需要更新的商品編號
Set mysqlDingDanNumber = updateNewNumber.keySet();
for (Integer i : mysqlDingDanNumber) {
SBUpdateNumber.append("更新了商品編號為:" + i + "的商品-----此次更新的數量為:"
+ updateNewNumber.get(i) + "\r\n");
}
// 獲取所有需要插入的商品編號
Set mysqlDingDanInsertNumber = insertNewNumber.keySet();
for (Integer i : mysqlDingDanInsertNumber) {
SBUpdateNumber.append("插入了新的商品編號為:" + i + "的商品-----此次插入的數量為:"
+ insertNewNumber.get(i) + "\r\n");
}
return SBUpdateNumber;
}
最后,當然是上圖了
下面這張圖是我僅僅實現了更新功能時候的測試
然后是執行更新與插入的圖
這個小小的程序經過改了又改,雖然有點浪費時間,但是實現效果后,自己感覺還是挺開心的.....雖然已經很晚了,但是頓時感覺很清醒..........好,可以去睡覺了...........加油!,.......................
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的java代码数据库添加操作_java连接数据库后进行更新插入操作的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java common io_Java之
- 下一篇: java实验33 类的继承2_java实