|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
java.lang.Objectde.unidu.is.util.DB
This class encapsulates a RDBMS (using JDBC), where connections are managed by a connection pool.
This class uses the logger "unidu.db".
| Field Summary | |
protected javax.sql.DataSource |
dataSource
The data source of this specific database. |
protected static java.util.Map |
dataSources
A map of data sources, one for each database URL. |
protected java.lang.String |
dbURI
The database URI. |
protected java.lang.String |
dbUser
The database user. |
protected SQLFormatter |
formatter
SQL formatter. |
protected org.apache.log4j.Logger |
logger
Logger. |
protected java.util.Map |
result2conn
Mapping from result sets to their connections, used for freeing them. |
protected java.util.Map |
result2stmt
Mapping from result sets to their statements, used for closing them. |
| Constructor Summary | |
DB(PropertyMap map,
java.lang.String prefix)
Creates a new instance, where the parameters are taken from a map. |
|
DB(PropertyMap map,
java.lang.String prefix,
org.apache.log4j.Logger logger)
Creates a new instance, where the parameters are taken from a map. |
|
DB(PropertyMap map,
java.lang.String prefix,
java.lang.String loggerName)
Creates a new instance, where the parameters are taken from a map. |
|
DB(java.lang.String uri,
java.lang.String driver,
java.lang.String user,
java.lang.String password)
Creates a new instance. |
|
DB(java.lang.String uri,
java.lang.String driver,
java.lang.String user,
java.lang.String password,
org.apache.log4j.Logger logger)
Creates a new instance. |
|
DB(java.lang.String uri,
java.lang.String driver,
java.lang.String user,
java.lang.String password,
java.lang.String logfile)
Deprecated. |
|
DB(java.lang.String uri,
java.lang.String driver,
java.lang.String user,
java.lang.String password,
java.lang.String logfile,
org.apache.log4j.Logger logger)
Deprecated. |
|
DB(java.lang.String uri,
java.lang.String driver,
java.lang.String user,
java.lang.String password,
java.lang.String logfile,
java.lang.String loggerName)
Deprecated. |
|
| Method Summary | |
void |
close()
Closes all open connections. |
void |
close(java.sql.ResultSet result)
Closes the connection belonging to a specific java.sql.ResultSet, derived from a
executeQuery(String) call. |
void |
createTable(java.lang.String tableName,
java.lang.String definition)
Creates a table (and removes an already existing table first). |
void |
createTableIfNotExists(java.lang.String tableName,
java.lang.String definition)
Creates a table if it does not exist. |
void |
dropTable(java.lang.String tableName)
Removes an already existing table. |
java.sql.ResultSet |
executeQuery(java.lang.String sql)
Executes a SQL query and returns a java.sql.ResultSet.
|
java.sql.ResultSet |
executeQuery(java.lang.String sql,
boolean info)
Executes a SQL query and returns a java.sql.ResultSet.
|
int |
executeUpdate(java.sql.PreparedStatement sql,
boolean info)
Executes a SQLsStatment and returns the number of changed rows. |
int |
executeUpdate(java.lang.String sql)
Executes a SQL update and returns the number of changed rows. |
int |
executeUpdate(java.lang.String sql,
boolean info)
Executes a SQL update and returns the number of changed rows. |
int |
executeUpdateIgnoreError(java.lang.String sql)
Executes a SQL update and returns the number of changed rows. |
boolean |
existsTable(java.lang.String tableName)
Checks whether the table name exists. |
protected void |
freeConnection(java.sql.Connection conn)
Frees a connection i.e. puts it back to the connection pool. |
java.sql.ResultSet |
getColumns(java.lang.String table)
Fetches the attributes of a table. |
java.sql.Connection |
getConnection()
Returns a connection for this instance out of the connection pool. |
java.lang.String |
getDbURI()
Returns the URI of the database. |
java.lang.String |
getDbUser()
Returns the user of the database. |
int |
insert(java.lang.String table,
java.util.Map elements)
Inserts field/value pairs into the given database table. |
int |
insert(java.lang.String table,
java.util.Map elements,
boolean info)
Inserts field/value pairs into the given database table. |
int |
insertIfMissing(java.lang.String table,
java.util.Map elements,
java.lang.String fieldToCheck,
boolean info)
Inserts elements into table if a certain field values doesn't exist. |
int |
insertIfMissing(java.lang.String table,
java.util.Map elements,
java.util.Vector fieldsToCheck,
boolean info)
Inserts elements into table if certain field values don't exist. |
java.lang.String |
makeIdentifier(java.lang.String str)
Converts a specified string into an identifier useful for databases. |
int |
remove(java.lang.String table,
java.util.Map removeCondition,
boolean info)
Removes all objects in a table identified by a given remove condition. |
java.lang.String |
toString()
Returns a text representation of the current object. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
protected org.apache.log4j.Logger logger
protected java.util.Map result2conn
protected java.util.Map result2stmt
protected static java.util.Map dataSources
protected java.lang.String dbURI
protected java.lang.String dbUser
protected javax.sql.DataSource dataSource
protected SQLFormatter formatter
| Constructor Detail |
public DB(java.lang.String uri,
java.lang.String driver,
java.lang.String user,
java.lang.String password)
uri - RDBMS URIdriver - class name of JDBC driveruser - user namepassword - user password
public DB(java.lang.String uri,
java.lang.String driver,
java.lang.String user,
java.lang.String password,
org.apache.log4j.Logger logger)
uri - RDBMS URIdriver - class name of JDBC driveruser - user namepassword - user passwordlogger - DB logger
public DB(PropertyMap map,
java.lang.String prefix)
map - map containing the parametersprefix - parameter prefix
public DB(PropertyMap map,
java.lang.String prefix,
java.lang.String loggerName)
map - map containing the parametersprefix - parameter prefixloggerName - name of DB logger
public DB(PropertyMap map,
java.lang.String prefix,
org.apache.log4j.Logger logger)
map - map containing the parametersprefix - parameter prefixlogger - DB logger
public DB(java.lang.String uri,
java.lang.String driver,
java.lang.String user,
java.lang.String password,
java.lang.String logfile,
org.apache.log4j.Logger logger)
uri - RDBMS URIdriver - class name of JDBC driveruser - user namepassword - user passwordlogfile - ignored parameterlogger - DB logger
public DB(java.lang.String uri,
java.lang.String driver,
java.lang.String user,
java.lang.String password,
java.lang.String logfile)
uri - RDBMS URIdriver - class name of JDBC driveruser - user namepassword - user passwordlogfile - ignored parameter
public DB(java.lang.String uri,
java.lang.String driver,
java.lang.String user,
java.lang.String password,
java.lang.String logfile,
java.lang.String loggerName)
uri - RDBMS URIdriver - class name of JDBC driveruser - user namepassword - user passwordlogfile - ignored parameterloggerName - name of DB logger| Method Detail |
public java.sql.Connection getConnection()
protected void freeConnection(java.sql.Connection conn)
conn - connectionpublic java.lang.String makeIdentifier(java.lang.String str)
The identifier is the specified string, where dots are replaced by underscores, and only letters (lowercase), digits and underscores are used (all other characters are removed).
str - string to convert
public java.sql.ResultSet executeQuery(java.lang.String sql)
throws java.sql.SQLException
java.sql.ResultSet.
The corresponding statement is stored s.th. it can be closed lateron.
sql - SQL query
java.sql.SQLException
public java.sql.ResultSet executeQuery(java.lang.String sql,
boolean info)
throws java.sql.SQLException
java.sql.ResultSet.
The corresponding statement is stored s.th. it can be closed lateron.
sql - SQL queryinfo - flag indicating whether logging as info is wanted
java.sql.SQLException
public int insertIfMissing(java.lang.String table,
java.util.Map elements,
java.lang.String fieldToCheck,
boolean info)
table - the table nameelements - the elements to be insertedfieldToCheck - the field to be checked first. The corresponding value is
taken from the elements mapinfo - flag indicating whether logging as info is wanted
public int insertIfMissing(java.lang.String table,
java.util.Map elements,
java.util.Vector fieldsToCheck,
boolean info)
table - the table nameelements - the elements to be insertedfieldsToCheck - the fields to be checked first. The corresponding values are
take from the elements mapinfo - flag indicating whether logging as info is wanted
public int insert(java.lang.String table,
java.util.Map elements)
table - the table nameelements - the elements - the key of the map is the field name, the value
its value.
public int insert(java.lang.String table,
java.util.Map elements,
boolean info)
table - the table nameelements - the elements - the key of the map is the field name, the value
its value.info - flag indicating whether logging as info is wanted
public int remove(java.lang.String table,
java.util.Map removeCondition,
boolean info)
table - the name of the tableremoveCondition - the remove conditioninfo - flag indicating whether logging as info is wanted
public int executeUpdate(java.lang.String sql)
The corresponding statement is already closed.
sql - SQL upodate
public int executeUpdateIgnoreError(java.lang.String sql)
The corresponding statement is already closed.
sql - SQL upodate
public int executeUpdate(java.lang.String sql,
boolean info)
The corresponding statement is already closed.
sql - SQL upodateinfo - flag indicating whether logging as info is wanted
public int executeUpdate(java.sql.PreparedStatement sql,
boolean info)
The corresponding statement is already closed.
sql - SQL upodateinfo - flag indicating whether logging as info is wanted
public java.sql.ResultSet getColumns(java.lang.String table)
throws java.sql.SQLException
table - Tablename
java.sql.SQLException
public void createTable(java.lang.String tableName,
java.lang.String definition)
The definition must not contain the surrounding brackets!
This command is logged as info.
tableName - name of the table to be createddefinition - definition of the tablepublic boolean existsTable(java.lang.String tableName)
tableName - name of the table to be checked
public void createTableIfNotExists(java.lang.String tableName,
java.lang.String definition)
The definition must not contain the surrounding brackets!
This command is logged as info.
tableName - name of the table to be createddefinition - definition of the tablepublic void dropTable(java.lang.String tableName)
tableName - name of the table to be removedpublic void close(java.sql.ResultSet result)
java.sql.ResultSet, derived from a
executeQuery(String) call.
result - ResultSetpublic void close()
public java.lang.String toString()
public java.lang.String getDbURI()
public java.lang.String getDbUser()
|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||