import com.mchange.v2.c3p0.ComboPooledDataSource;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.Properties;
public class DatabaseManager {
private static ComboPooledDataSource dataSource;
static {
try {
Properties props = new Properties();
props.load(DatabaseManager.class.getResourceAsStream("database.properties"));
dataSource = new ComboPooledDataSource();
dataSource.setDriverClass(props.getProperty("jdbc.driver"));
dataSource.setJdbcUrl(props.getProperty("jdbc.url"));
dataSource.setUser(props.getProperty("jdbc.username"));
dataSource.setPassword(props.getProperty("jdbc.password"));
} catch (Exception e) {
e.printStackTrace();
}
}
public static Connection getConnection() throws SQLException {
return dataSource.getConnection();
}
public static void releaseConnection(Connection connection) throws SQLException {
if (connection != null) {
connection.close();
}
}
}
public class MyApp {
public static void main(String[] args) {
Connection connection = null;
try {
connection = DatabaseManager.getConnection();
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
DatabaseManager.releaseConnection(connection);
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}