liukaida 发表于 2017-12-12 22:47:24

MySql踩坑总结

//DBCP管理类,也是从网上找的  package com.kuiblog.utils;
  import java.sql.Connection;
  import java.sql.DatabaseMetaData;
  import java.sql.SQLException;
  import java.util.Properties;
  import javax.sql.DataSource;
  import org.apache.commons.dbcp.BasicDataSourceFactory;
  import org.apache.commons.logging.Log;
  import org.apache.commons.logging.LogFactory;

  public>  private static final Log log = LogFactory.getLog(DBCPManager.class);
  private static final String configFile = "这里替换成你的实际配置文件";
  private static DataSource dataSource;
  static {
  Properties dbProperties = new Properties();
  try {
  dbProperties.load(DBCPManager.class.getClassLoader()
  .getResourceAsStream(configFile));
  dataSource = BasicDataSourceFactory.createDataSource(dbProperties);
  Connection conn = getConn();
  DatabaseMetaData mdm = conn.getMetaData();
  log.info("Connected to " + mdm.getDatabaseProductName() + " "
  + mdm.getDatabaseProductVersion());
  if (conn != null) {
  conn.close();
  }
  } catch (Exception e) {
  log.error("初始化连接池失败:" + e);
  }
  }
  private DBCPManager(){
  }
  /**
  * 获取链接,用完后记得关闭
  *
  * @see {@link DBManager#closeConn(Connection)}
  * @return
  */
  public static final Connection getConn() {
  Connection conn = null;
  try {
  conn = dataSource.getConnection();
  } catch (SQLException e) {
  log.error("获取数据库连接失败:" + e);
  }
  return conn;
  }
  /**
  * 关闭连接
  *
  * @param conn
  *            需要关闭的连接
  */
  public static void closeConn(Connection conn) {
  try {
  if (conn != null && !conn.isClosed()) {
  conn.setAutoCommit(true);
  conn.close();
  }
  } catch (SQLException e) {
  log.error("关闭数据库连接失败:" + e);
  }
  }
  }
页: [1]
查看完整版本: MySql踩坑总结