|
||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--org.hsqldb.jdbcConnection
A connection (session) with a specific database. Within the context of a Connection, SQL statements are executed and results are returned.
A Connection's database is able to provide information
describing its tables, its supported SQL grammar, its stored
procedures, the capabilities of this connection, and so on. This
information is obtained with the getMetaData
method.
Note: By default the Connection automatically commits changes after executing each statement. If auto commit has been disabled, an explicit commit must be done or database changes will not be saved.
To connect to a HSQL database, the following code may be used:
Class.forName("org.hsqldb.jdbcDriver");
Connection c=DriverManager.getConnection(url,user,password);
For HSQL, the url must start with jdbc:hsqldb.
The url for an In-Memory database is jdbc:hsqldb:.
The url for a standalone database is jdbc:hsqldb:name
where name is the filename of the database, including path. For example:
jdbc:hsqldb:test
will connect to a database called
'test', with the files test.properties, test.data and test.script.
For more information about the internal file structure of HSQL,
please read the documentation, page 'Files'.
jdbcStatement
,
jdbcResultSet
,
jdbcDatabaseMetaData
Field Summary | |
static int |
DEFAULT_HSQL_PORT
|
(package private) java.io.DataInputStream |
dInput
|
(package private) java.io.DataOutputStream |
dOutput
|
(package private) static java.lang.String |
ENCODING
|
(package private) java.net.Socket |
sSocket
|
Fields inherited from interface java.sql.Connection |
TRANSACTION_NONE,
TRANSACTION_READ_COMMITTED,
TRANSACTION_READ_UNCOMMITTED,
TRANSACTION_REPEATABLE_READ,
TRANSACTION_SERIALIZABLE |
Constructor Summary | |
(package private) |
jdbcConnection(Channel c)
Constructor declaration |
(package private) |
jdbcConnection(java.lang.String s,
java.lang.String user,
java.lang.String password)
Constructor declaration |
Method Summary | |
void |
clearWarnings()
Clears all warnings reported for this Connection object. |
void |
close()
Releases a Connection's database and JDBC resources immediately instead of waiting for them to be automatically released. |
void |
commit()
Makes all changes made since the previous commit/rollback permanent and releases any database locks currently held by the Connection. |
java.sql.Statement |
createStatement()
Creates a Statement object for sending
SQL statements to the database. |
java.sql.Statement |
createStatement(int type,
int concurrency)
JDBC 2.0 Creates a Statement object that will generate
ResultSet objects with the given type and concurrency. |
(package private) jdbcResultSet |
execute(java.lang.String s)
Method declaration |
void |
finalize()
Method declaration |
boolean |
getAutoCommit()
Gets the current auto-commit state. |
java.lang.String |
getCatalog()
Returns the Connection's current catalog name. |
java.sql.DatabaseMetaData |
getMetaData()
Gets the metadata regarding this connection's database. |
(package private) java.lang.String |
getName()
Method declaration |
int |
getTransactionIsolation()
Gets this Connection's current transaction isolation level. |
java.util.Map |
getTypeMap()
JDBC 2.0 Gets the type map object associated with this connection. |
java.sql.SQLWarning |
getWarnings()
Returns the first warning reported by calls on this Connection. |
boolean |
isClosed()
Tests to see if a Connection is closed. |
boolean |
isReadOnly()
Tests to see if the connection is in read-only mode. |
java.lang.String |
nativeSQL(java.lang.String sql)
Converts the given SQL statement into the system's native SQL grammar. |
java.sql.CallableStatement |
prepareCall(java.lang.String sql)
Creates a CallableStatement object for calling
database stored procedures. |
java.sql.CallableStatement |
prepareCall(java.lang.String sql,
int resultSetType,
int resultSetConcurrency)
JDBC 2.0 Creates a CallableStatement object that will generate
ResultSet objects with the given type and concurrency. |
java.sql.PreparedStatement |
prepareStatement(java.lang.String sql)
Creates a PreparedStatement object for sending
parameterized SQL statements to the database. |
java.sql.PreparedStatement |
prepareStatement(java.lang.String sql,
int type,
int concurrency)
JDBC 2.0 Creates a PreparedStatement object that will generate
ResultSet objects with the given type and concurrency. |
void |
rollback()
Drops all changes made since the previous commit/rollback and releases any database locks currently held by this Connection. |
void |
setAutoCommit(boolean autoCommit)
Sets this connection's auto-commit mode. |
void |
setCatalog(java.lang.String catalog)
Sets a catalog name in order to select a subspace of this Connection's database in which to work. |
void |
setReadOnly(boolean readonly)
Puts this connection in read-only mode as a hint to enable database optimizations. |
void |
setTransactionIsolation(int level)
Attempts to change the transaction isolation level to the one given. |
void |
setTypeMap(java.util.Map map)
JDBC 2.0 Installs the given type map as the type map for this connection. |
(package private) boolean |
usesLocalFiles()
Method declaration |
Methods inherited from class java.lang.Object |
|
Field Detail |
java.net.Socket sSocket
java.io.DataOutputStream dOutput
java.io.DataInputStream dInput
public static final int DEFAULT_HSQL_PORT
static final java.lang.String ENCODING
Constructor Detail |
jdbcConnection(java.lang.String s, java.lang.String user, java.lang.String password) throws java.sql.SQLException
s
- user
- password
- jdbcConnection(Channel c) throws java.sql.SQLException
c
- Method Detail |
public java.sql.Statement createStatement()
Statement
object for sending
SQL statements to the database.
SQL statements without parameters are normally
executed using Statement objects.public java.sql.PreparedStatement prepareStatement(java.lang.String sql)
PreparedStatement
object for sending
parameterized SQL statements to the database.
A SQL statement with or without IN parameters can be stored in
a PreparedStatement object. This object can then be used to execute
this statement multiple times.
In HSQL, the statement is not sent to the database until
the PreparedStatement
is executed. Other drivers may send
the statment to the database when this function is called. This has
no direct effect on users; however, it does affect which method throws
certain SQLExceptions.
sql
- a SQL statement that may contain one or more '?' IN
parameter placeholderspublic java.sql.CallableStatement prepareCall(java.lang.String sql)
CallableStatement
object for calling
database stored procedures.
The CallableStatement provides
methods for setting up its IN and OUT parameters, and
methods for executing the call to a stored procedure.
Note: This method is optimized for handling stored procedure call statements.
HSQL does not send the call
statement to the database when the method prepareCall
is done; it waits until the CallableStatement is executed. This has
no direct effect on users; however, it does affect which method
throws certain SQLExceptions.
sql
- a SQL statement that may contain one or more '?'
parameter placeholders. Typically this statement is a JDBC
function call escape string.public java.lang.String nativeSQL(java.lang.String sql)
HSQL does convert the JDBC sql grammar into its system's native SQL grammar prior to sending it; this method returns the native form of the statement that the driver would have sent.
sql
- a SQL statement that may contain one or more '?'
parameter placeholderspublic void setAutoCommit(boolean autoCommit) throws java.sql.SQLException
commit
or the method rollback
.
By default, new connections are in auto-commit
mode.
The commit occurs when the statement completes or the next
execute occurs, whichever comes first. In the case of
statements returning a ResultSet, the statement completes when
the last row of the ResultSet has been retrieved or the
ResultSet has been closed. In advanced cases, a single
statement may return multiple results as well as output
parameter values. In these cases the commit occurs when all results and
output parameter values have been retrieved.autoCommit
- true enables auto-commit; false disables
auto-commit.public boolean getAutoCommit()
setAutoCommit(boolean)
public void commit() throws java.sql.SQLException
setAutoCommit(boolean)
public void rollback() throws java.sql.SQLException
setAutoCommit(boolean)
public void close() throws java.sql.SQLException
Note: A Connection is automatically closed when it is garbage collected.
public boolean isClosed()
public java.sql.DatabaseMetaData getMetaData()
public void setReadOnly(boolean readonly) throws java.sql.SQLException
Note: This method should not be called while in the middle of a transaction.
HSQL will in this case commit the transaction automatically.
In HSQL, additionally the whole database can be put in
read-only mode by manually adding the line 'readonly=true' to the
.properties file. All connections are then automatically readonly.
The database files will then be opened in readonly mode, and it is
thus possible to create a CD with this database.
readOnly
- true enables read-only mode; false disables
read-only mode.public boolean isReadOnly() throws java.sql.SQLException
public void setCatalog(java.lang.String catalog)
HSQL does not support catalogs and ignores this request.
public java.lang.String getCatalog()
public void setTransactionIsolation(int level)
Connection
are the possible transaction isolation levels.
Note: This method should not be called while in the middle of a transaction.
HSQL currently ignores this call.
level
- one of the TRANSACTION_* isolation values with the
exception of TRANSACTION_NONE; some databases may not support
other valuesDatabaseMetaData.supportsTransactionIsolationLevel(int)
public int getTransactionIsolation()
public java.sql.SQLWarning getWarnings()
HSQL never produces warnings and returns always null.
public void clearWarnings()
Connection
object.
After a call to this method, the method getWarnings
returns null until a new warning is
reported for this Connection.public java.sql.Statement createStatement(int type, int concurrency) throws java.sql.SQLException
Statement
object that will generate
ResultSet
objects with the given type and concurrency.
This method is the same as the createStatement
method
above, but it allows the default result set
type and result set concurrency type to be overridden.
HSQL currently supports type TYPE_FORWARD_ONLY and concurrency CONCUR_READ_ONLY.
resultSetType
- a result set type; see ResultSet.TYPE_XXXresultSetConcurrency
- a concurrency type; see ResultSet.CONCUR_XXXpublic java.sql.PreparedStatement prepareStatement(java.lang.String sql, int type, int concurrency) throws java.sql.SQLException
PreparedStatement
object that will generate
ResultSet
objects with the given type and concurrency.
This method is the same as the prepareStatement
method
above, but it allows the default result set
type and result set concurrency type to be overridden.
HSQL currently supports type TYPE_FORWARD_ONLY and concurrency CONCUR_READ_ONLY.
resultSetType
- a result set type; see ResultSet.TYPE_XXXresultSetConcurrency
- a concurrency type; see ResultSet.CONCUR_XXXpublic java.sql.CallableStatement prepareCall(java.lang.String sql, int resultSetType, int resultSetConcurrency) throws java.sql.SQLException
CallableStatement
object that will generate
ResultSet
objects with the given type and concurrency.
This method is the same as the prepareCall
method
above, but it allows the default result set
type and result set concurrency type to be overridden.
HSQL currently supports type TYPE_FORWARD_ONLY and concurrency CONCUR_READ_ONLY.
resultSetType
- a result set type; see ResultSet.TYPE_XXXresultSetConcurrency
- a concurrency type; see ResultSet.CONCUR_XXXpublic java.util.Map getTypeMap() throws java.sql.SQLException
java.util.Map
object associated
with this Connection
objectpublic void setTypeMap(java.util.Map map) throws java.sql.SQLException
the
- java.util.Map
object to install
as the replacement for this Connection
object's default type mapjdbcResultSet execute(java.lang.String s) throws java.sql.SQLException
s
- boolean usesLocalFiles()
java.lang.String getName()
public void finalize()
|
||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |