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()
DBConfig
java.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.SQLException
ISFSArray 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