Конвертировать JDBC con в C3P0
У меня есть соединение JDBC:
String url = "jdbc:mysql://1.1.1.1/";
String dbName = "users";
String driver = "com.mysql.jdbc.Driver";
String userName = "superadmin";
String password = "p@ssword";
try {
Class.forName(driver).newInstance();
con = DriverManager.getConnection(url + dbName, userName, password);
И я пытаюсь преобразовать его в c3p0
ComboPooledDataSource cpds = new ComboPooledDataSource();
cpds.setDriverClass( "com.mysql.jdbc.Driver" );
cpds.setJdbcUrl( "jdbc:mysql://1.1.1.1/" );
cpds.setUser("superadmin");
cpds.setPassword("p@ssword");
cpds.setMinPoolSize(5);
cpds.setAcquireIncrement(5);
cpds.setMaxPoolSize(20);
cpds.setMaxStatements(180);
Connection con = (Connection) cpds.getConnection();
Но это не преобразуется, я пытался использовать метод unwrap(), но все еще не может заставить его работать. Что мне не хватает?
1 ответ
Вам не нужно разворачивать, и вам не нужно приводить то, что уже является Соединением с Соединением.
Вы должны использовать правильный jdbcUrl, хотя. Сравните ваш аргумент jdbcUrl с DriverManager.getConnection() с jdbcUrl, который вы установили в ComboPooledDataSource. В последнем отсутствует последняя часть jdbcUrl, имя базы данных.