# Class DriverDataSource

java.lang.Object
org.apache.cayenne.datasource.DriverDataSource

All Implemented Interfaces:
  `Wrapper, CommonDataSource, DataSource`

public class DriverDataSource extends Object implements DataSource
A non-pooling DataSource implementation wrapping a JDBC driver.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected final String`
  `connectionUrl`
  `protected final Driver`
  `driver`
  `protected final String`
  `password`
  `protected final String`
  `userName`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `DriverDataSource(Driver driver, String connectionUrl, String userName, String password)`
  Creates a DriverDataSource wrapping a given Driver.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Connection`
  `getConnection()`
  Returns a new database connection, using preconfigured data to locate the database and obtain a connection.
  `Connection`
  `getConnection(String userName, String password)`
  Returns a new database connection using provided credentials to login to the database.
  `int`
  `getLoginTimeout()`
  `PrintWriter`
  `getLogWriter()`
  `Logger`
  `getParentLogger()`
  `boolean`
  `isWrapperFor(Class<?> iface)`
  `void`
  `setLoginTimeout(int seconds)`
  `void`
  `setLogWriter(PrintWriter out)`
  `<T> T`
  `unwrap(Class<T> iface)`

  ### Methods inherited from class Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

  ### Methods inherited from interface CommonDataSource

  `createShardingKeyBuilder`

  ### Methods inherited from interface DataSource

  `createConnectionBuilder`

- ## Field Details

  - ### driver

    protected final Driver driver

  - ### connectionUrl

    protected final String connectionUrl

  - ### userName

    protected final String userName

  - ### password

    protected final String password

- ## Constructor Details

  - ### DriverDataSource

    public DriverDataSource(Driver driver, String connectionUrl, String userName, String password)
    Creates a DriverDataSource wrapping a given Driver. If "driver" is null, DriverDataSource will consult DriverManager for a registered driver for the given URL. So when specifying null, a user must take care of registering the driver. "connectionUrl" on the other hand must NOT be null.
    Since:
      1.1

- ## Method Details

  - ### getConnection

    public Connection getConnection() throws SQLException
    Returns a new database connection, using preconfigured data to locate the database and obtain a connection.
    Specified by:
      `getConnection` in interface `DataSource`
    Throws:
      `SQLException`

  - ### getConnection

    public Connection getConnection(String userName, String password) throws SQLException
    Returns a new database connection using provided credentials to login to the database.
    Specified by:
      `getConnection` in interface `DataSource`
    Throws:
      `SQLException`

  - ### getLoginTimeout

    public int getLoginTimeout()
    Specified by:
      `getLoginTimeout` in interface `CommonDataSource`
    Specified by:
      `getLoginTimeout` in interface `DataSource`

  - ### setLoginTimeout

    public void setLoginTimeout(int seconds)
    Specified by:
      `setLoginTimeout` in interface `CommonDataSource`
    Specified by:
      `setLoginTimeout` in interface `DataSource`

  - ### getLogWriter

    public PrintWriter getLogWriter()
    Specified by:
      `getLogWriter` in interface `CommonDataSource`
    Specified by:
      `getLogWriter` in interface `DataSource`

  - ### setLogWriter

    public void setLogWriter(PrintWriter out)
    Specified by:
      `setLogWriter` in interface `CommonDataSource`
    Specified by:
      `setLogWriter` in interface `DataSource`

  - ### isWrapperFor

    public boolean isWrapperFor(Class<?> iface) throws SQLException
    Specified by:
      `isWrapperFor` in interface `Wrapper`
    Throws:
      `SQLException`
    Since:
      3.0

  - ### unwrap

    public <T> T unwrap(Class<T> iface) throws SQLException
    Specified by:
      `unwrap` in interface `Wrapper`
    Throws:
      `SQLException`
    Since:
      3.0

  - ### getParentLogger

    public Logger getParentLogger()
    Specified by:
      `getParentLogger` in interface `CommonDataSource`
    Since:
      3.1