我有一个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()方法,但仍然无法使其正常工作。我错过了什么?
答案 0 :(得分:0)
您不需要打开包装,也不需要将已经连接的连接转换为连接。
您确实需要使用正确的jdbcUrl。将您的jdbcUrl参数与DriverManager.getConnection()与您在ComboPooledDataSource上设置的jdbcUrl进行比较。后者缺少jdbcUrl的最后一部分,即数据库名称。