InvocationTargetException 原因


<update id="updateDebtTimer" parameterType="com.jhd.entity.Debt" >
    update a_debt
    <set >
      <if test="ruserid.id != null" >
        ruserid = #{ruserid.id,jdbcType=INTEGER},
      </if>
      <if test="ruserdebtid.id != null" >
        ruserdebtid = #{ruserdebtid.id,jdbcType=INTEGER},
      </if>
      <if test="matchtime != null" >
        matchtime = #{matchtime,jdbcType=VARCHAR},
      </if>
      <if test="matchmoney != null" >
        matchmoney = #{matchmoney,jdbcType=DOUBLE},
      </if>
      <if test="ischange != null" >
        ischange = #{ischange,jdbcType=INTEGER},
      </if>
    </set>
    where id = #{id,jdbcType=INTEGER}
  </update>

java代碼

    public void updateDebtEndForIschange(){
    String buserDate = Util.getTimeDay();
    //查詢今天過期的 中間所有債權Buser
    Map<String, Object> buserNewDayMap= new HashMap<String, Object>();
    buserNewDayMap.put("buserDate",buserDate);
    List<Buser> buserList = buserMapper.buserNewDayList(buserNewDayMap);
    if(buserList.size() > 0){
    //修改 債權有分配的Debt
        for (Buser buser : buserList) {
        Map<String, Object> creditorDebtMap= new HashMap<String, Object>();
        creditorDebtMap.put("borrowid",buser.getId());
        List<Debt> debtList = debtMapper.findCreditorDebtTimer(creditorDebtMap);
        for (Debt debt : debtList) {
        debt.setIschange(1);
    debtMapper.updateDebtTimer(debt);//更新被替換的debt的ischange為1
    System.out.println("---------更新被替換的debt  ischange");
        }
        
        }
    }
    }

 

異常信息

[org.mybatis.spring.SqlSessionUtils]Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@7bbc8afc]

[org.mybatis.spring.SqlSessionUtils]Fetched SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@7bbc8afc] from current transaction
[org.mybatis.spring.SqlSessionUtils]Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@7bbc8afc]
[org.springframework.jdbc.datasource.DataSourceTransactionManager]Should roll back transaction but cannot - no transaction available
[org.mybatis.spring.SqlSessionUtils]Transaction synchronization closing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@7bbc8afc]

[org.springframework.jdbc.datasource.DataSourceUtils]Returning JDBC Connection to DataSource

 

到這里就一直卡住不動了。斷點調試的時候,會跳到 InvocationTargetException異常里面去。

 debtMapper.updateDebtTimer(debt);//更新被替換的debt的ischange為1 在這里就彈出錯誤,就不動了。

 

我的是前面修改xml的時候,字段名寫錯了,一直沒找到原因,網上也很多寫的東西,大多都是把英語說明翻譯出來,根本解決不了問題。

后來我慢慢查看,就發現有個字段的名字在   數據庫,xml和Bean里面不一致,后來改一致就OK了。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM