Конвертировать 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, имя базы данных.

Другие вопросы по тегам