public interface IDBManager
extends com.smartfoxserver.bitswarm.service.IService
| Modifier and Type | Method and Description |
|---|---|
java.lang.Object |
executeInsert(java.lang.String sql,
java.lang.Object[] params)
Executes a SQL INSERT command returning the key of the inserted row
|
ISFSArray |
executeQuery(java.lang.String sql)
Deprecated.
Please use
executeQuery(String, Object[]) |
ISFSArray |
executeQuery(java.lang.String sql,
java.lang.Object[] params)
Perform a SQL query and return a structured object based on SFSArray and SFSObject.
|
void |
executeUpdate(java.lang.String sql)
Deprecated.
please use
executeUpdate(String, Object[]) |
void |
executeUpdate(java.lang.String sql,
java.lang.Object[] params)
Executes a non-query SQL command such as INSERT, UPDATE, DELETE etc...
|
DBConfig |
getConfig()
Get the configuration details of the JDBC connection and connection pool
|
java.sql.Connection |
getConnection()
Get a direct reference to the JDBC connection object.
|
boolean |
isActive()
True if the Service is active
|
boolean isActive()
DBConfig getConfig()
DBConfigjava.sql.Connection getConnection()
throws java.sql.SQLException
An example of a code template would be:
try
{
// An example query ... it could be anything
sql = "SELECT * FROM table";
conn = getParentZone().getDBManager().getConnection();
stmt = conn.prepareStatement(sql);
ResultSet resultSet = stmt.executeQuery();
// More code here...
}
// Not mandatory
catch (SQLException)
{
// do something about it
}
// Mandatory! Close connection before leaving this method
finally
{
if (stmt != null)
stmt.close();
if (conn != null)
conn.close();
}
java.sql.SQLExceptionISFSArray executeQuery(java.lang.String sql, java.lang.Object[] params) throws java.sql.SQLException
The SQL code can include placeholders (using a question mark) and an array of parameters that will be used to populate them, just like when using prepared statements via JDBC. Example:
executeQuery("SELECT * FROM Users WHERE age > ? AND country=?", new Object[] {35, "Sweden"});
The structure of the returned object is as follows:
SFSArray: represents the result set. It contains all the selected records in form of SFSObject(s)
Data types from the database are translated to SFSObject types according to this table:
| SQL Type | SFSObject Type |
| NULL | NULL |
| BOOLEAN | BOOLEAN |
| DATE | LONG (Unix timestamp) |
| FLOAT, DECIMAL, DOUBLE, REAL | DOUBLE |
| TINYINT, SMALLINT, INTEGER | INTEGER |
| CHAR, VARCHAR, LONGVARCHAR | UTF_STRING |
| NCHAR, NVARCHAR, LONGNVARCHAR | UTF_STRING |
| TIMESTAMP | LONG |
| BIGINT (up to 2^63) | LONG |
| LONGVARBINARY, BLOB | BYTE_ARRAY |
sql - the SQL code. Placeholders for parameters can be used such as: SELECT * FROM Users WHERE name=?params - An array of objects that will be used to populate the placeholders in the SQL codejava.sql.SQLException - reports any errors related with the execution of the SQL query@Deprecated ISFSArray executeQuery(java.lang.String sql) throws java.sql.SQLException
executeQuery(String, Object[])executeQuery(String, Object[])
where no additional SQL parameter is used. Please see executeQuery(String, Object[])sql - the SQL codejava.sql.SQLException - reports any errors related with the execution of the SQL queryvoid executeUpdate(java.lang.String sql,
java.lang.Object[] params)
throws java.sql.SQLException
sql - the SQL code. Placeholders for parameters can be used such as: SELECT * FROM Users WHERE name=?params - An array of objects that will be used to populate the placeholders in the SQL codejava.sql.SQLException - reports any errors related with the execution of the SQL updatejava.lang.Object executeInsert(java.lang.String sql,
java.lang.Object[] params)
throws java.sql.SQLException
sql - the SQL code. Placeholders for parameters can be used such as: INSERT INTO users (name, email) VALUES(?, ?)params - An array of objects that will be used to populate the placeholders in the SQL codejava.sql.SQLException - reports any errors related with the execution of the SQL update@Deprecated
void executeUpdate(java.lang.String sql)
throws java.sql.SQLException
executeUpdate(String, Object[])sql - the SQL code.java.sql.SQLException - reports any errors related with the execution of the SQL update