用mybatis插入数据时显示数组越界异常,有时候重新运行程序又可以用了。

用mybatis插入数据时显示数组越界异常,有时候重新运行程序又可以用了。
什么鬼 求大神指教 QAQ

        RouteMapper routeMapper = Constants.SQL_SESSION.getMapper(RouteMapper.class);
        Favorite favorite = new Favorite();
        favorite.setRid(rid);
        favorite.setUid(uid);
        favorite.setDate(sysTime);
        System.out.println(favorite);

            favoritemapper.insert(favorite);
            routeMapper.updateRouteByCountAdd(rid);
            Constants.SQL_SESSION.commit();

映射文件

<insert id="insert" parameterType="com.bwq.travel.domain.Favorite">
    insert into tbl_favorite (rid, uid, date)
    values (#{rid}, #{uid}, #{date})
  </insert>

图片说明

 favoriteServiceImpl 第35行

这个坑之前也踩过,今天才填上。我这把mybatis输出sql语句到控制台的设置关闭就行了,原因大概是更新数据的时候输出语句到控制台时数组越界了。有空再看看到底怎么挖的。。。
图片说明(querystack=-1导致的数组越界,一般都是=1)