powerpokin 2017-01-13 07:38 采纳率: 0%
浏览 3048

no operations allowed after connection closed

数据库连接配置

<!-- 配置MyBatis3的环境 -->
<environments default="env">
    <!-- 配置一个环境 -->
    <environment id="env">
        <!-- 配置事务管理器 JDBC(有事务)、MANAGED(托管) -->
        <transactionManager type="JDBC" />
        <!-- 配置数据源 JNDI(web服务器方式定义数据源)、POOLED(自带连接池)、UNPOOLED(不带连接池) -->
        <dataSource type="POOLED">
            <!-- 连接数据库驱动 -->
            <property name="driver" value="com.mysql.jdbc.Driver" />
            <!-- 连接数据库URL -->
            <property name="url" value="jdbc:mysql:///wkmj_wechat?useUnicode=true&amp;characterEncoding=UTF-8&amp;zeroDateTimeBehavior=convertToNull" />
            <!-- 连接数据库用户名 -->
            <property name="username" value="root" />
            <!-- 连接数据库密码 -->
            <property name="password" value="root" />
        </dataSource>
    </environment>
</environments>

JAVA代码

/**

  • 获取SqlSession和关闭SqlSession的基础类
  • @author Administrator * */

public class BaseDao {
private static SqlSessionFactory factory;
/**
* 线程对象
/
private static ThreadLocal threadLocal = new ThreadLocal<>();
/
*通过静态块初始化SqlSessionFactory,因为静态块只会在类第一次加载的时候执行*/
static {
try(InputStream in = Resources.getResourceAsStream("mybatis_config.xml");) {
factory = new SqlSessionFactoryBuilder().build(in);
} catch (IOException e) {
e.printStackTrace();
System.err.println("数据库连接工厂获取失败!");
}
}
/**
* 获取SqlSession对象
* @return SqlSession
*/
public static SqlSession getSqlSession(){
//通过ThreadLocal获取sqlSession对象
//第二次进来的时候就可以从threadLocal.get()中获取
SqlSession sqlSession = threadLocal.get();

    if(sqlSession == null){
        //获取一个SqlSession对象
        sqlSession = factory.openSession();
        //并存储到ThreadLocal对象中,通过ThreadLocal对象可以方便进行线程同步管理
        //前程同步交给工具管理
        threadLocal.set(sqlSession);
    }
    return sqlSession;
}
/**
 * 关闭SqlSession对象
 */
public static void closeSqlSession(){
    SqlSession sqlSession = threadLocal.get();
    if(sqlSession != null){
        sqlSession.close();
    }
    threadLocal.remove();
}

}

发布到服务器后每隔几次点击就会有no operations allowed after connection closed报错,但是本地测试没有这个情况出现

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
    • ¥15 如何在scanpy上做差异基因和通路富集?
    • ¥20 关于#硬件工程#的问题,请各位专家解答!
    • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
    • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
    • ¥30 截图中的mathematics程序转换成matlab
    • ¥15 动力学代码报错,维度不匹配
    • ¥15 Power query添加列问题
    • ¥50 Kubernetes&Fission&Eleasticsearch
    • ¥15 報錯:Person is not mapped,如何解決?