我试图创建我的第一个连接池。 我创建和Tomcat 7和MySQL数据库一个Java Web aplication,我想创建一个最简单的连接池可能。 我已经看到了几个教程,但它不是我真的不清楚,所以我想请你确认,如果我做得很好。
我已经写了下面的类为连接池管理器:
package dao.mysql;
import java.sql.Connection;
import java.sql.SQLException;
import org.apache.tomcat.jdbc.pool.DataSource;
import org.apache.tomcat.jdbc.pool.PoolProperties;
public class MySQLConnectionPool {
private static DataSource datasource;
private static String driver = "com.mysql.jdbc.Driver";
private static String url = "jdbc:mysql://localhost:3306/mydb";
private static String username = "user";
private static String password = "password";
public MySQLConnectionPool() {
datasource = new DataSource(configurePoolProperties(driver, url, username, password));
}
private PoolProperties configurePoolProperties(String driver, String url, String username, String password) {
PoolProperties properties = new PoolProperties();
properties.setDriverClassName(driver);
properties.setUrl(url);
properties.setUsername(username);
properties.setPassword(password);
return properties;
}
public static synchronized Connection getConnection() {
Connection connection = null;
try {
connection = datasource.getConnection();
} catch (SQLException ex) {
System.out.println("Error while getting a connection from the pool! \nSQL state:" + ex.getSQLState() + "\nMESSAGE" + ex.getMessage());
}
return connection;
}
}
我不知道有关的静态属性,也不是同步的 。
而且我不知道该池的“客户”类。 据我所知,他们只用得到的连接
Connection con = MySQLConnectionPool.getConnection();
使用最后关闭此连接
con.close();
这就是它? 而且,有没有更简单的或更好的方式来做到这一点?
非常感谢!