开发者社区> 问答> 正文

jdbc 连接mysql 第二天就连接不成功,什么原因?

情况是这样,我做的是一个SSH项目,中间需要连接另个一个项目数据库查询数据,也算是双数据源,我就建了个DBUtil类 创建 Connection对象,每天重启起来了 第二天早上页面就访问不了了 我怀疑数据库插叙出错,不知道这种情况大家是否遇到。难道不建数据连接池就不行么。本来想简单实现。请大神指教一下。

package net.shopxx.util;
 
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
 
import net.shopxx.constant.JdbcConstant;
 
import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;
 
/**
 * <p>
 * Title: JDBC驱动
 * </p>
 */
public class DBUtil {
    private static final Logger log = Logger.getLogger(DBUtil.class);
 
    private static Connection conn = null;
    private static Connection crmConn = null;
 
    public synchronized static Connection getConnection() {
        if (null == conn) {
            try {
                log.info("创建conn数据库连接");
                Class.forName(JdbcConstant.JDBC_DRIVER);
                conn = DriverManager.getConnection(JdbcConstant.JDBC_URL,
                        JdbcConstant.JDBC_USERNAME, JdbcConstant.JDBC_PASSWORD);
            } catch (ClassNotFoundException e) {
                log.error("驱动类找不到", e);
            } catch (SQLException e) {
                log.error("SQL连接异常", e);
            }
 
        }
        return conn;
    }
 
    public synchronized static Connection getConnectionByCRM() {
        if (null == crmConn) {
            try {
                log.info("创建crmconn数据库连接");
                Class.forName(JdbcConstant.CRM_JDBC_DRIVER);
                crmConn = DriverManager.getConnection(
                        JdbcConstant.CRM_JDBC_URL,
                        JdbcConstant.CRM_JDBC_USERNAME,
                        JdbcConstant.CRM_JDBC_PASSWORD);
            } catch (ClassNotFoundException e) {
                log.error("驱动类找不到", e);
            } catch (SQLException e) {
                log.error("SQL连接异常", e);
            }
        }
        return crmConn;
    }
 
}

展开
收起
落地花开啦 2016-02-29 13:59:27 3069 0
1 条回答
写回答
取消 提交回答
  • 喜欢技术,喜欢努力的人

    mysql会自动断开超过8小时没有使用的连接,而这个连接可能在程序中是没有断开的。
    所以程序中需要定时来检查连接,断开长时间不使用的连接。

    2019-07-17 18:50:14
    赞同 1 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
搭建电商项目架构连接MySQL 立即下载
搭建4层电商项目架构,实战连接MySQL 立即下载
PolarDB MySQL引擎重磅功能及产品能力盛大发布 立即下载

相关镜像