亚洲最大看欧美片,亚洲图揄拍自拍另类图片,欧美精品v国产精品v呦,日本在线精品视频免费

  • 站長資訊網(wǎng)
    最全最豐富的資訊網(wǎng)站

    java中什么時(shí)候使用事務(wù)

    java中什么時(shí)候使用事務(wù)

    什么時(shí)候使用事務(wù)?

    1、如果實(shí)際的業(yè)務(wù)中,需要將一條數(shù)據(jù)同時(shí)存放到兩張表中, 并且要求兩張表中的數(shù)據(jù)同步,那么此時(shí)就需要使用事務(wù)管理機(jī)制,保證數(shù)據(jù)同步。如果出現(xiàn)錯(cuò)誤情況,比如表一插入數(shù)據(jù)成功,表二插入數(shù)據(jù)失敗,那么就回滾,終止數(shù)據(jù)持久化操作。

    2、金融行業(yè)的軟件開發(fā)嚴(yán)格重視事務(wù)處理,比如我們常見的轉(zhuǎn)賬操作,一方的賬戶金額減少,對(duì)應(yīng)的是另一方的賬戶金額增加,這個(gè)過程需要使用到事務(wù)機(jī)制,不然轉(zhuǎn)賬不能成功。

    免費(fèi)學(xué)習(xí)視頻教程分享:java視頻教程

    以JDBC處理事務(wù)為例:

    public static void main(String[] args) throws SQLException, ClassNotFoundException {         Class.forName("com.mysql.jdbc.Driver");         String url = "jdbc:mysql://localhost:3306/user";         String user = "root";         String password = "123456";         Connection con = (Connection) DriverManager.getConnection(url, user, password);         try {             //取消自動(dòng)提交             //如果設(shè)成false,那就是JDBC不自動(dòng)提交,需要手動(dòng)的使用commit或者rollback來進(jìn)行提交或者回滾數(shù)據(jù).              con.setAutoCommit(false);             Statement stmt = (Statement) con.createStatement();             //進(jìn)行數(shù)據(jù)插入             String sql = "insert into users(email,password) values('" + "jack@163.com" + "','" + "jack" + "');";             boolean flag = stmt.execute(sql);             System.out.println(flag);             //人為制造一個(gè)錯(cuò)誤,結(jié)果就是數(shù)據(jù)庫并沒有插入這條數(shù)據(jù),也就是數(shù)據(jù)發(fā)生了回滾             //異常被捕獲之后,就不在執(zhí)行下面的語句,而是執(zhí)行catch中的語句             //如果沒有異常,數(shù)據(jù)就會(huì)被提交到數(shù)據(jù)庫             System.out.println(1/0);             //手動(dòng)提交             con.commit();         } catch (Exception e) {             //如果發(fā)生錯(cuò)誤,就回滾             con.rollback();         } finally {             con.close();         }     }

    相關(guān)文章教程推薦:java入門教程

    贊(0)
    分享到: 更多 (0)
    網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)