org.lateralnz.c3d.util
Class DBUtils

java.lang.Object
  extended by org.lateralnz.c3d.util.DBUtils
All Implemented Interfaces:
Constants

public class DBUtils
extends java.lang.Object
implements Constants

general utilities


Field Summary
static int CLEAR_CACHE_STATEMENT
           
static int DELETE_STATEMENT
           
static int INSERT_STATEMENT
           
static int QUERY_CACHE_DUMP_STATEMENT
           
static int QUERY_CACHE_STATEMENT
           
static int QUERY_STATS_STATEMENT
           
static int SELECT_STATEMENT
           
static java.lang.String SEP
           
static int UPDATE_STATEMENT
           
 
Fields inherited from interface org.lateralnz.common.util.Constants
AMPERSAND, AND, APPLICATION_X_WWW_FORM_URLENCODED, ASTERISK, AT, BACK_SLASH, CHAR_LEFT_CHEV, CHAR_RIGHT_CHEV, COLON, COMMA, CRLF, DASH, DELETE, DOLLAR, DOT, DOT_CLASS, DOT_JAVA, EIGHT, EMPTY, EQUALS, FALSE, FILE_SEPARATOR, FIVE, FORWARD_SLASH, FOUR, FULLSTOP, HASH, HAT, INSERT, LEFT_BRACE, LEFT_BRACKET, LEFT_CHEV, MAX_LEN_APPCODE, MAX_LEN_APPGROUP, MAX_LEN_MSGCODE, MAX_LEN_MSGTEXT, MINUS_ONE, N, NEWLINE, NINE, NO, NULL_STRING, OFF, ON, ONE, ONE_DAY, ONE_HOUR, ONE_MINUTE, ONE_WEEK, PATH_SEPARATOR, PERCENT, PIPE, PLUS, QUESTION_MARK, QUOTE, REQUIRED, REQUIRES_NEW, RETURN, RIGHT_BRACE, RIGHT_BRACKET, RIGHT_CHEV, SELECT, SEMICOLON, SEVEN, SINGLE_QUOTE, SIX, SPACE, SQ_LEFT_BRACKET, SQ_RIGHT_BRACKET, SUPPORTS, TEXT_HTML, TEXT_PLAIN, TEXT_XML, THREE, TRUE, TWO, UNDERSCORE, UPDATE, UTF_8, Y, YES, ZERO
 
Method Summary
static int countSelects(java.util.List l)
          count the selects that appear in a list of SQL statements
static Column createColumn(java.sql.ResultSet rs, int[] types, int idx)
          create a column object from the resultset using an array of db types and the index of the column we're creating
static Column createColumn(java.lang.String value)
           
static Column[] createRow(java.lang.String[] values)
           
static java.lang.String flatten(Column[] cols, java.lang.String delim)
          flatten an array of columns into a string
static java.lang.String getCacheNameFromKey(java.lang.String key)
           
static java.lang.String getInsertTableName(java.lang.String sql)
           
static java.lang.String[] getKeyColumnData(int[] keyColumns, java.sql.ResultSet rs)
          return the column data based on an array of primary key columns.
static java.lang.Object getObjectFromMap(java.lang.Object key, java.util.Map m, java.lang.Class newObjClass)
           
static java.lang.String getResultSetDataKey(java.lang.String cache, java.lang.String[] keyColumns)
           
static java.lang.String getTargetName(java.lang.String sql, int type)
           
static java.lang.String getWhereClause(java.lang.String sql)
          get the where clause of an SQL statement
static boolean isStatementType(java.lang.String s, int type)
           
static void setParams(java.sql.PreparedStatement ps, Column[] cols, int offset, int length)
          given an array of Column objects set the values of those columns as parameters in a prepared statement
static java.util.Map splitSet(java.lang.String setSQL)
          split a SQL set clause into a map of column=value
static java.util.List splitSQL(java.lang.String s)
          split an SQL statement into SQL fragments separated by ; for example, select * from table1;insert into table2 should result in 2 separate statements
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DELETE_STATEMENT

public static final int DELETE_STATEMENT
See Also:
Constant Field Values

INSERT_STATEMENT

public static final int INSERT_STATEMENT
See Also:
Constant Field Values

SELECT_STATEMENT

public static final int SELECT_STATEMENT
See Also:
Constant Field Values

UPDATE_STATEMENT

public static final int UPDATE_STATEMENT
See Also:
Constant Field Values

CLEAR_CACHE_STATEMENT

public static final int CLEAR_CACHE_STATEMENT
See Also:
Constant Field Values

QUERY_CACHE_STATEMENT

public static final int QUERY_CACHE_STATEMENT
See Also:
Constant Field Values

QUERY_CACHE_DUMP_STATEMENT

public static final int QUERY_CACHE_DUMP_STATEMENT
See Also:
Constant Field Values

QUERY_STATS_STATEMENT

public static final int QUERY_STATS_STATEMENT
See Also:
Constant Field Values

SEP

public static final java.lang.String SEP
See Also:
Constant Field Values
Method Detail

countSelects

public static final int countSelects(java.util.List l)
count the selects that appear in a list of SQL statements


createColumn

public static final Column createColumn(java.sql.ResultSet rs,
                                        int[] types,
                                        int idx)
                                 throws java.sql.SQLException
create a column object from the resultset using an array of db types and the index of the column we're creating

Throws:
java.sql.SQLException

createColumn

public static final Column createColumn(java.lang.String value)

createRow

public static final Column[] createRow(java.lang.String[] values)

flatten

public static final java.lang.String flatten(Column[] cols,
                                             java.lang.String delim)
flatten an array of columns into a string


getCacheNameFromKey

public static final java.lang.String getCacheNameFromKey(java.lang.String key)

getKeyColumnData

public static final java.lang.String[] getKeyColumnData(int[] keyColumns,
                                                        java.sql.ResultSet rs)
                                                 throws java.sql.SQLException
return the column data based on an array of primary key columns. For example, if the primary keys are in columns 1, 5 and 6 of the resultset, this will return the data in those columns as a 3 element array.

Throws:
java.sql.SQLException

getInsertTableName

public static final java.lang.String getInsertTableName(java.lang.String sql)

getObjectFromMap

public static final java.lang.Object getObjectFromMap(java.lang.Object key,
                                                      java.util.Map m,
                                                      java.lang.Class newObjClass)
                                               throws java.sql.SQLException
Throws:
java.sql.SQLException

getResultSetDataKey

public static final java.lang.String getResultSetDataKey(java.lang.String cache,
                                                         java.lang.String[] keyColumns)

getTargetName

public static final java.lang.String getTargetName(java.lang.String sql,
                                                   int type)

getWhereClause

public static final java.lang.String getWhereClause(java.lang.String sql)
get the where clause of an SQL statement


isStatementType

public static final boolean isStatementType(java.lang.String s,
                                            int type)

setParams

public static final void setParams(java.sql.PreparedStatement ps,
                                   Column[] cols,
                                   int offset,
                                   int length)
                            throws java.sql.SQLException
given an array of Column objects set the values of those columns as parameters in a prepared statement

Throws:
java.sql.SQLException

splitSQL

public static final java.util.List splitSQL(java.lang.String s)
split an SQL statement into SQL fragments separated by ; for example, select * from table1;insert into table2 should result in 2 separate statements


splitSet

public static final java.util.Map splitSet(java.lang.String setSQL)
                                    throws java.sql.SQLException
split a SQL set clause into a map of column=value

Throws:
java.sql.SQLException