項目框架主要是spring,持久層框架沒有用mybtis,用的是spring 的jdbc;

  業(yè)務(wù)需求:給應(yīng)用添加領(lǐng)域(一個領(lǐng)域包含多個應(yīng)用,一個應(yīng)用可能屬于多個領(lǐng)域,一般而言一個應(yīng)用只屬于一個領(lǐng)域),要求是給應(yīng)用添加領(lǐng)域的時候,先將該應(yīng)用已有的領(lǐng)域都刪除,之后再將選中的領(lǐng)域添加到數(shù)據(jù)庫;

  為了減少準備工作,我利用了以前的代碼和數(shù)據(jù)建模,那么就成了:添加person的時候先刪除已存在name為新添加person的name的person,再添加新person,說直白點就是:添加name為zhangsan的person,那么先刪除數(shù)據(jù)庫中name為zhangsan的所有person信息,然后再將新的zhangsan的person信息添加到數(shù)據(jù)庫中;

  環(huán)境搭建過程我就不寫了,完整代碼會以附件形式上傳;

  注意:druid連接池一般而言,jdbc設(shè)置成自動提交,不設(shè)置的話,默認也是自動提交(有興趣的朋友可以去看下druid連接池的源碼)

 

jdbcTemplate自動提交

  先來驗證下,當(dāng)前jdbcTempalte是否是自動提交的,如何驗證了,我可以在jdbcTemplate執(zhí)行完之后拋出一個異常,代碼如下  

public int deleteOnePerson(String name) {        int count = jdbcTemplate.update(DELETE_ONE_PERSON, new Object[]{name});        // jdbcTemplate執(zhí)行完成
        count = count / 0;                                                            // 拋出RuntimeException
        return count;
    }

  沒有配置事務(wù)

iOS培訓(xùn),Swift培訓(xùn),蘋果開發(fā)培訓(xùn),移動開發(fā)培訓(xùn) View Code

 

     &nbs

網(wǎng)友評論