1.8.2 進(jìn)貨管理模塊技術(shù)分析
進(jìn)貨管理模塊使用JDBC實(shí)現(xiàn)事務(wù)操作。因?yàn)檫M(jìn)貨和退貨的業(yè)務(wù)邏輯涉及到3個(gè)數(shù)據(jù)表,為保證數(shù)據(jù)的完整性,將3個(gè)數(shù)據(jù)表的操作放在事務(wù)中實(shí)現(xiàn)。如果對(duì)任何一個(gè)數(shù)據(jù)表的操作出現(xiàn)錯(cuò)誤或是不可執(zhí)行的操作,那么整個(gè)事務(wù)中的所有操作都將取消,并恢復(fù)到事務(wù)執(zhí)行之前的數(shù)據(jù)狀態(tài);否則3個(gè)數(shù)據(jù)表的操作全部執(zhí)行。下面介紹使用JDBC實(shí)現(xiàn)事務(wù)操作的關(guān)鍵方法。
1.setAutoCommit()方法
該方法用于設(shè)置連接對(duì)象的自動(dòng)提交模式。如果連接對(duì)象的自動(dòng)提交模式為True,則其所有SQL語(yǔ)句將被執(zhí)行并作為單個(gè)事務(wù)提交;否則,該連接對(duì)象的SQL語(yǔ)句將聚集到事務(wù)中,直到調(diào)用commit()方法或rollback()方法為止。默認(rèn)情況下,新連接的自動(dòng)提交模式為True。
語(yǔ)法:
void setAutoCommit(boolean autoCommit)
autoCommit:該參數(shù)為True表示啟用連接對(duì)象的自動(dòng)提交模式;為False表示禁用連接對(duì)象的自動(dòng)提交模式。
2.getAutoCommit()
判斷此連接對(duì)象是否啟用了自動(dòng)提交模式。
語(yǔ)法:
boolean getAutoCommit()
3.commit()方法
該方法將提交SQL語(yǔ)句執(zhí)行數(shù)據(jù)庫(kù)操作,并釋放此連接對(duì)象當(dāng)前持有的所有數(shù)據(jù)庫(kù)鎖。此方法只在禁用自動(dòng)提交模式情況下使用。
語(yǔ)法:
void commit()
4.rollback()方法
該方法將取消在當(dāng)前事務(wù)中進(jìn)行的所有更改,并釋放此連接對(duì)象當(dāng)前持有的所有數(shù)據(jù)庫(kù)鎖。此方法只在禁用自動(dòng)提交模式情況下使用。
void rollback()
1.8.3 進(jìn)貨單實(shí)現(xiàn)過(guò)程
進(jìn)貨單使用的數(shù)據(jù)表:tb_ruku_main、tb_ruku_detail、tb_kucun。
(1)創(chuàng)建JinHuoDan類,用于實(shí)現(xiàn)本系統(tǒng)的進(jìn)貨單功能的界面和業(yè)務(wù)邏輯。界面中定義的主要控件如表1.8所示。