java用druid连接池与数据库建立链接时无法使用createDataSource()方法问题

在这里插入图片描述
如图,用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没仔细看。。。。。
我导成了第二个
在这里插入图片描述是我学习到的太少了。。。大家导第一个包才是对的。。

猜你喜欢

转载自blog.csdn.net/weixin_43139254/article/details/106000867