【问题标题】:Cannot instantiate DataSource无法实例化数据源
【发布时间】:2017-05-28 09:00:09
【问题描述】:

我正在尝试制作一个 DataSource 对象,就像文档中提到的那样: Apache Tomcat 8.5 Connection Pool 代码示例。

我的代码如下:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;

import javax.sql.DataSource;

import org.apache.tomcat.jdbc.pool.PoolProperties;

/**
 * Class for encapsulating data connection and retrieving.
 * @author George
 *
 */
public class DataConnector {

    private static final String USERNAME = "root";
    private static final String PASSWORD = "";
    private static final String DATABASE_NAME = "store_db";

    public DataConnector(){
        PoolProperties p = new PoolProperties();
        p.setUrl("jdbc:mysql://localhost:3306/" + DATABASE_NAME);
        p.setDriverClassName("com.mysql.jdbc.Driver");
        p.setUsername(USERNAME);
        p.setPassword(PASSWORD);

        DataSource ds = new DataSource();

    }

}

但它给出了以下错误:无法实例化类型 DataSource。 有什么建议吗?

【问题讨论】:

  • 因为DataSource是一个接口。 docs.oracle.com/javase/8/docs/api/javax/sql/….
  • @JBNizet 你能解释一下为什么在我上面提到的链接中的示例代码中使用它。
  • 你链接的页面中没有这样的例子。
  • @JBNizet 请转到代码示例 -> Plain Ol' Java。
  • 代码使用import org.apache.tomcat.jdbc.pool.DataSource;。您的代码使用import javax.sql.DataSource;。不是同一个班级。

标签: java mysql tomcat


【解决方案1】:

示例代码使用org.apache.tomcat.jdbc.pool.DataSource,与您使用的类不同:javax.sql.DataSource

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-06-29
    • 2022-01-03
    • 2012-03-24
    • 2023-03-27
    • 2016-06-09
    • 2020-10-26
    • 2016-11-22
    • 2016-02-29
    相关资源
    最近更新 更多