testcs_dn
微wx笑
2017-07-11 04:29

一对多嵌套查询 mysql 8小时问题

刘老师你好:
我在结果映射中使用了collection,一对多嵌套查询,dbcp连接池;
但是间隔一段时间再访问就会出现异常: java.sql.SQLException: No operations allowed after statement closed.
再重新请求一次就好了,添加以下配置也没能解决:

        <!--指定数据库的默认自动提交-->
        <property name="defaultAutoCommit" value = "true" />
        <!--是否自动回收超时连接-->
        <property name="removeAbandoned" value="true" />
        <!--超时时间(以秒数为单位)-->
        <property name="removeAbandonedTimeout" value="10" />
        <!--记录中断事件 -->
        <property name="logAbandoned" value="true" />
        <!-- 池中的连接空闲30分钟后被回收 -->
        <property name="minEvictableIdleTimeMillis" value="1800000" />
        <!-- some positive integer -->
        <property name="timeBetweenEvictionRunsMillis" value="30000" />
        <!--取得对象时是否进行验证,检查对象是否有效 -->
        <property name="testOnBorrow" value="true" />
        <!--空闲时是否进行验证,检查对象是否有效 -->
        <property name="testWhileIdle" value="true" />
        <!--返回对象时是否进行验证 -->
        <property name="testOnReturn" value="true"/>
        <property name="validationQuery" value="select 1" />
        <!-- 下面这两个属性属于优化部分,加上这两个属性可以提高整体的响应时间 -->
        <!-- 表明是否开启statement cache,默认为false,也就是不开启 -->
        <property name="poolPreparedStatements" value="true" />
        <!-- statement cache的大小,默认为-1,也就是不限制 -->
        <property name="maxOpenPreparedStatements" value="10" />
        <!-- 在每次空闲连接回收器线程(如果有)运行时检查的连接数量 -->
        <property name="numTestsPerEvictionRun" value="1" />
  • 点赞
  • 回答
  • 收藏
  • 复制链接分享

1条回答

为你推荐