我有这么一个需求,做文件上传同时在数据库中记录文件的路径,所以文件上传和更新数据库要如果执行都执行,反之都不执行,java中能怎么实现

解决方案 »

  1.   

    這與 java 沒很大關係,重要的是你怎麼規畫你的邏輯。上傳和更新數據庫不可能在同一個交易裡,所以只能自己判斷檔案是否都上傳成功。
    一開始先記錄一個暫存表格,記錄目錄、目錄內檔案以及上傳是否成功。
    當全部成功之後,才將記錄寫到成功的表格。因為是暫存的表格,所以上傳失敗可以做重傳、續傳或全部刪除,這就看你怎麼規畫了。
      

  2.   

    这个真的要看楼主需要什么了。
    一般是批量上传中有一项失败就都回滚
    按照楼主所说的好像是只上传一个文件做法很多,我觉得把上传和数据库更新写在同一个逻辑块儿中比较好,可以写在不同的类,但在某个地方按顺序调用文件上传和数据库更新,在出现异常时执行文件和数据的删除就行了例如:try {
        //文件上传
        //更新文件路径} catch (Exception ex) {
        //文件删除
        //清除文件路径
        throw ex;
    }