如图,用DruidDataSourceFactor时无其他方法。
ctrl+b看一下DruidDataSourceFactor;
package com.alibaba.druid.support.ibatis;
import com.ibatis.sqlmap.engine.datasource.DataSourceFactory;
import java.util.Map;
import javax.sql.DataSource;
public class DruidDataSourceFactory implements DataSourceFactory {
private DataSource dataSource;
public DruidDataSourceFactory() {
}
public void initialize(Map map) {
try {
this.dataSource = com.alibaba.druid.pool.DruidDataSourceFactory.createDataSource(map);
} catch (RuntimeException var3) {
throw var3;
} catch (Exception var4) {
throw new RuntimeException("init data source error", var4);
}
}
public DataSource getDataSource() {
return this.dataSource;
}
}
可以看到无静态方法,但是有个initialize方法里面调用了createDataSource方法,那我们就用initialize方法,再使用getDataSource方法获得私有变量datasource。如下:
DruidDataSourceFactory druidDataSourceFactory = new DruidDataSourceFactory();
druidDataSourceFactory.initialize(pro);
DataSource dataSource = druidDataSourceFactory.getDataSource();
Connection connection = dataSource.getConnection();
你们这样行了吗?我是不行,又报错:
按理说可以的,,但是这真的不行。。我决定重新下druid。
这是发问题的第二天,因为还要继续往下学习,但是昨天想重新在github上下druid但是发现并不能直接下来就用,因为学习还要继续。。。。网上搜索了好多,发现没有跟我差不多的问题。。。。但是这个问题是找不到这个东西com.ibatis…,我发现是不是少一个包?但网上看了看,都是我那个druid.jar包。然后我又去找DruidDataSourceFactory,发现在
然后发现我导包导错了。。。。直接alt+enter没仔细看。。。。。
我导成了第二个
是我学习到的太少了。。。大家导第一个包才是对的。。