1

使用这篇文章,我想用数据源创建 JUnit 测试。我测试了这段代码:

import java.util.logging.Level;
import java.util.logging.Logger;
import javax.activation.DataSource;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import org.junit.BeforeClass;

public class NewEmptyJUnitTest
{

    public NewEmptyJUnitTest()
    {
    }

    @BeforeClass
    public static void setUpClass() throws Exception
    {
        // rcarver - setup the jndi context and the datasource
        try
        {
            // Create initial context
            System.setProperty(Context.INITIAL_CONTEXT_FACTORY,
                    "org.apache.naming.java.javaURLContextFactory");
            System.setProperty(Context.URL_PKG_PREFIXES,
                    "org.apache.naming");
            InitialContext ic = new InitialContext();

            ic.createSubcontext("java:");
            ic.createSubcontext("java:/comp");
            ic.createSubcontext("java:/comp/env");
            ic.createSubcontext("java:/comp/env/jdbc");

            // Construct DataSource
            OracleConnectionPoolDataSource ds = new OracleConnectionPoolDataSource();
            ds.setURL("jdbc:oracle:thin:@host:port:db");
            ds.setUser("MY_USER_NAME");
            ds.setPassword("MY_USER_PASSWORD");

            ic.bind("java:/comp/env/jdbc/nameofmyjdbcresource", ds);
        }
        catch (NamingException ex)
        {
            Logger.getLogger(MyDAOTest.class.getName()).log(Level.SEVERE, null, ex);
        }

    }

    public void inittest() throws NamingException
    {

        Context initContext = new InitialContext();
        Context webContext = (Context) initContext.lookup("java:/comp/env");

        DataSource ds = (DataSource) webContext.lookup("jdbc/nameofmyjdbcresource");

    }
}

但是 Netbeans 找不到此类“OracleConnectionPoolDataSource”。我该如何解决这个问题?为了使用这个类,我必须导入什么包?

4

1 回答 1

1

根据ojdbc14.jarOracleConnectionPoolDataSource可以在以下位置找到oracle.jdbc.pool

import oracle.jdbc.pool.OracleConnectionPoolDataSource;
于 2013-02-19T11:59:12.080 回答