org.mariadb.jdbc

## Class MariaDbDataSource

- java.lang.Object
- - org.mariadb.jdbc.MariaDbDataSource

All Implemented Interfaces:
  Wrapper, CommonDataSource, ConnectionPoolDataSource, DataSource, XADataSource

Direct Known Subclasses:
  MySQLDataSource

    public class MariaDbDataSource
    extends Object
    implements DataSource, ConnectionPoolDataSource, XADataSource

### Constructor Summary

Constructors
Constructor and Description
`MariaDbDataSource()` Default constructor. hostname will be localhost, port 3306.
`MariaDbDataSource(String url)`
`MariaDbDataSource(String hostname, int port, String database)` Constructor.

### Method Summary

All Methods Instance Methods Concrete Methods Deprecated Methods
`Connection` `getConnection()` Attempts to establish a connection with the data source that this `DataSource` object represents.
`Connection` `getConnection(String username, String password)` Attempts to establish a connection with the data source that this `DataSource` object represents.
`String` `getDatabaseName()` Gets the name of the database.
`int` `getLoginTimeout()` Gets the maximum time in seconds that this data source can wait while attempting to connect to a database.
`PrintWriter` `getLogWriter()` Retrieves the log writer for this `DataSource` object.
`Logger` `getParentLogger()`
`PooledConnection` `getPooledConnection()` Attempts to establish a physical database connection that can be used as a pooled connection.
`PooledConnection` `getPooledConnection(String user, String password)` Attempts to establish a physical database connection that can be used as a pooled connection.
`int` `getPort()` Returns the port number.
`int` `getPortNumber()` Returns the port number.
`String` `getServerName()` Returns the name of the database server.
`protected UrlParser` `getUrlParser()` For testing purpose only.
`String` `getUser()` Gets the username.
`String` `getUserName()` Gets the username.
`XAConnection` `getXAConnection()`
`XAConnection` `getXAConnection(String user, String password)`
`protected void` `initialize()`
`boolean` `isWrapperFor(Class<?> interfaceOrWrapper)` Returns true if this either implements the interface argument or is directly or indirectly a wrapper for an object that does.
`void` `setDatabaseName(String database)` Sets the database name.
`void` `setLoginTimeout(int seconds)` Sets the maximum time in seconds that this data source will wait while attempting to connect to a database.
`void` `setLogWriter(PrintWriter out)` Sets the log writer for this `DataSource` object to the given `java.io.PrintWriter` object.
`void` `setPassword(String password)` Sets the password.
`void` `setPort(int port)` Sets the database port.
`void` `setPortNumber(int port)` Sets the port number.
`void` `setProperties(String properties)` Deprecated.
`void` `setServerName(String serverName)` Sets the server name.
`void` `setUrl(String url)` Sets the connection string URL.
`void` `setUser(String user)` Sets the username.
`void` `setUserName(String userName)` Sets the username.
`<T> T` `unwrap(Class<T> iface)` Returns an object that implements the given interface to allow access to non-standard methods, or standard methods not exposed by the proxy.

### Methods inherited from class java.lang.Object

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

### Constructor Detail

#### MariaDbDataSource

    public MariaDbDataSource(String hostname,
                             int port,
                             String database)

Constructor.

Parameters:
  `hostname` - hostname (ipv4, ipv6, dns name)
  `port` - server port
  `database` - database name

#### MariaDbDataSource

    public MariaDbDataSource(String url)

#### MariaDbDataSource

    public MariaDbDataSource()

Default constructor. hostname will be localhost, port 3306.

### Method Detail

#### getDatabaseName

    public String getDatabaseName()

Gets the name of the database.

Returns:
  the name of the database for this data source

#### setDatabaseName

    public void setDatabaseName(String database)
                         throws SQLException

Sets the database name.

Parameters:
  `database` - the name of the database
Throws:
  `SQLException` - if connection information are erroneous

#### getUser

    public String getUser()

Gets the username.

Returns:
  the username to use when connecting to the database

#### setUser

    public void setUser(String user)
                 throws SQLException

Sets the username.

Parameters:
  `user` - the username
Throws:
  `SQLException` - if connection information are erroneous

#### getUserName

    public String getUserName()

Gets the username.

Returns:
  the username to use when connecting to the database

#### setUserName

    public void setUserName(String userName)
                     throws SQLException

Sets the username.

Parameters:
  `userName` - the username
Throws:
  `SQLException` - if connection information are erroneous

#### setPassword

    public void setPassword(String password)
                     throws SQLException

Sets the password.

Parameters:
  `password` - the password
Throws:
  `SQLException` - if connection information are erroneous

#### getPort

    public int getPort()

Returns the port number.

Returns:
  the port number

#### setPort

    public void setPort(int port)
                 throws SQLException

Sets the database port.

Parameters:
  `port` - the port
Throws:
  `SQLException` - if connection information are erroneous

#### getPortNumber

    public int getPortNumber()

Returns the port number.

Returns:
  the port number

#### setPortNumber

    public void setPortNumber(int port)
                       throws SQLException

Sets the port number.

Parameters:
  `port` - the port
Throws:
  `SQLException` - if connection information are erroneous
See Also:
  `setPort(int)`

#### setProperties

    @Deprecated
    public void setProperties(String properties)
                                    throws SQLException

Deprecated.

Throws:
  `SQLException`

#### setUrl

    public void setUrl(String url)
                throws SQLException

Sets the connection string URL.

Parameters:
  `url` - the connection string
Throws:
  `SQLException` - if error in URL

#### getServerName

    public String getServerName()

Returns the name of the database server.

Returns:
  the name of the database server

#### setServerName

    public void setServerName(String serverName)
                       throws SQLException

Sets the server name.

Parameters:
  `serverName` - the server name
Throws:
  `SQLException` - if connection information are erroneous

#### getConnection

    public Connection getConnection()
                             throws SQLException

Attempts to establish a connection with the data source that this `DataSource` object represents.

Specified by:
  `getConnection` in interface `DataSource`
Returns:
  a connection to the data source
Throws:
  `SQLException` - if a database access error occurs

#### getConnection

    public Connection getConnection(String username,
                                    String password)
                             throws SQLException

Attempts to establish a connection with the data source that this `DataSource` object represents.

Specified by:
  `getConnection` in interface `DataSource`
Parameters:
  `username` - the database user on whose behalf the connection is being made
  `password` - the user's password
Returns:
  a connection to the data source
Throws:
  `SQLException` - if a database access error occurs

#### getLogWriter

    public PrintWriter getLogWriter()

Retrieves the log writer for this `DataSource` object.

The log writer is a character output stream to which all logging and tracing messages for this data source will be printed. This includes messages printed by the methods of this object, messages printed by methods of other objects manufactured by this object, and so on. Messages printed to a data source specific log writer are not printed to the log writer associated with the `java.sql.DriverManager` class. When a `DataSource` object is created, the log writer is initially null; in other words, the default is for logging to be disabled.

Specified by:
  `getLogWriter` in interface `CommonDataSource`
Returns:
  the log writer for this data source or null if logging is disabled
See Also:
  `setLogWriter(java.io.PrintWriter)`

#### setLogWriter

    public void setLogWriter(PrintWriter out)

Sets the log writer for this `DataSource` object to the given `java.io.PrintWriter` object.

The log writer is a character output stream to which all logging and tracing messages for this data source will be printed. This includes messages printed by the methods of this object, messages printed by methods of other objects manufactured by this object, and so on. Messages printed to a data source- specific log writer are not printed to the log writer associated with the `java.sql.DriverManager` class. When a `DataSource` object is created the log writer is initially null; in other words, the default is for logging to be disabled.

Specified by:
  `setLogWriter` in interface `CommonDataSource`
Parameters:
  `out` - the new log writer; to disable logging, set to null
See Also:
  `getLogWriter()`

#### getLoginTimeout

    public int getLoginTimeout()

Gets the maximum time in seconds that this data source can wait while attempting to connect to a database. A value of zero means that the timeout is the default system timeout if there is one; otherwise, it means that there is no timeout. When a `DataSource` object is created, the login timeout is initially zero.

Specified by:
  `getLoginTimeout` in interface `CommonDataSource`
Returns:
  the data source login time limit
See Also:
  `setLoginTimeout(int)`

#### setLoginTimeout

    public void setLoginTimeout(int seconds)

Sets the maximum time in seconds that this data source will wait while attempting to connect to a database. A value of zero specifies that the timeout is the default system timeout if there is one; otherwise, it specifies that there is no timeout. When a `DataSource` object is created, the login timeout is initially zero.

Specified by:
  `setLoginTimeout` in interface `CommonDataSource`
Parameters:
  `seconds` - the data source login time limit
See Also:
  `getLoginTimeout()`

#### unwrap

    public <T> T unwrap(Class<T> iface)
                 throws SQLException

Returns an object that implements the given interface to allow access to non-standard methods, or standard methods not exposed by the proxy.

If the receiver implements the interface then the result is the receiver or a proxy for the receiver. If the receiver is a wrapper and the wrapped object implements the interface then the result is the wrapped object or a proxy for the wrapped object. Otherwise return the the result of calling `unwrap` recursively on the wrapped object or a proxy for that result. If the receiver is not a wrapper and does not implement the interface, then an `SQLException` is thrown.

Specified by:
  `unwrap` in interface `Wrapper`
Parameters:
  `iface` - A Class defining an interface that the result must implement.
Returns:
  an object that implements the interface. May be a proxy for the actual implementing object.
Throws:
  `SQLException` - If no object found that implements the interface
Since:
  1.6

#### isWrapperFor

    public boolean isWrapperFor(Class<?> interfaceOrWrapper)
                         throws SQLException

Returns true if this either implements the interface argument or is directly or indirectly a wrapper for an object that does. Returns false otherwise. If this implements the interface then return true, else if this is a wrapper then return the result of recursively calling `isWrapperFor` on the wrapped object. If this does not implement the interface and is not a wrapper, return false. This method should be implemented as a low-cost operation compared to `unwrap` so that callers can use this method to avoid expensive `unwrap` calls that may fail. If this method returns true then calling `unwrap` with the same argument should succeed.

Specified by:
  `isWrapperFor` in interface `Wrapper`
Parameters:
  `interfaceOrWrapper` - a Class defining an interface.
Returns:
  true if this implements the interface or directly or indirectly wraps an object that does.
Throws:
  `SQLException` - if an error occurs while determining whether this is a wrapper for an object with the given interface.

#### getPooledConnection

    public PooledConnection getPooledConnection()
                                         throws SQLException

Attempts to establish a physical database connection that can be used as a pooled connection.

Specified by:
  `getPooledConnection` in interface `ConnectionPoolDataSource`
Returns:
  a `PooledConnection` object that is a physical connection to the database that this `ConnectionPoolDataSource` object represents
Throws:
  `SQLException` - if a database access error occurs if the JDBC driver does not support this method

#### getPooledConnection

    public PooledConnection getPooledConnection(String user,
                                                String password)
                                         throws SQLException

Attempts to establish a physical database connection that can be used as a pooled connection.

Specified by:
  `getPooledConnection` in interface `ConnectionPoolDataSource`
Parameters:
  `user` - the database user on whose behalf the connection is being made
  `password` - the user's password
Returns:
  a `PooledConnection` object that is a physical connection to the database that this `ConnectionPoolDataSource` object represents
Throws:
  `SQLException` - if a database access error occurs

#### getXAConnection

    public XAConnection getXAConnection()
                                 throws SQLException

Specified by:
  `getXAConnection` in interface `XADataSource`
Throws:
  `SQLException`

#### getXAConnection

    public XAConnection getXAConnection(String user,
                                        String password)
                                 throws SQLException

Specified by:
  `getXAConnection` in interface `XADataSource`
Throws:
  `SQLException`

#### getParentLogger

    public Logger getParentLogger()

Specified by:
  `getParentLogger` in interface `CommonDataSource`

#### getUrlParser

    protected UrlParser getUrlParser()

For testing purpose only.

Returns:
  current url parser.

#### initialize

    protected void initialize()
                       throws SQLException

Throws:
  `SQLException`