|
|||||||||
| Home >> All >> org >> apache >> turbine >> util >> db >> [ statement overview ] | PREV CLASS NEXT CLASS | ||||||||
SUMMARY: JAVADOC | SOURCE | DOWNLOAD | NESTED | FIELD | CONSTR | METHOD |
DETAIL: FIELD | CONSTR | METHOD | ||||||||
org.apache.turbine.util.db.statement
Class BaseSql

java.lang.Objectorg.apache.turbine.util.db.statement.BaseSql
- All Implemented Interfaces:
- Sql
- public class BaseSql
- extends java.lang.Object
- implements Sql
- extends java.lang.Object
This class contains default methods to construct SQL statements using method calls. Subclasses should specialize the methods to the SQL dialect of a specific database.
This class defines methods that construct String fragments of SQL statements. Chaining the methods allows the creation of arbitrarily complex statements.
getInsert --> insert into left (item1,...,itemN)
getValues --> values (item1,...,itemN)
getUpdate --> update left item1,...,itemN
getSet --> set left=right
getDelete --> delete from left
getSelect --> select item1,...,itemN
getSelectDistinct --> select distinct item1,...,itemN
getFrom --> from item1,item2,...,itemN
getWhere --> where tree
getEquals --> (left = right)
getNotEqual --> (left != right)
getGreaterThan --> (left > right)
getGreaterEqual --> (left >= right)
getLessThan --> (left < right)
getLessEqual --> (left <= right)
getNull --> (item is null)
getNotNull --> (item is not null)
getIn --> (left in right)
getNotIn --> (left not in right)
getAnd --> (left and right)
getOr --> (left or right)
getNot --> (not item)
getAscending --> item ASC
getDescending --> item DESC
getOrderBy --> order by item1...,itemN
getGroupBy --> group by item1...,itemN
getHaving --> having tree
getCount --> count(item)
getMin --> min(item)
getMax --> max(item)
getAvg --> avg(item)
getSum --> sum(item)
getUpper --> upper(item)
Stored procedures can also be implemented. Extend this class in your own custom database adaptor. Add methods to construct SQL fragments for your stored procedures. The implementations for functions (such as getCount(), getSum()...) would be useful models to follow for your stored procedures.
- Version:
- $Id: BaseSql.java,v 1.1.6.2 2004/05/20 04:34:17 seade Exp $
| Constructor Summary | |
BaseSql()
|
|
| Method Summary | |
java.lang.String |
getAnd(java.lang.String left,
java.lang.String right)
Constructs a logical comparison using the and operator. |
java.lang.String |
getAscending(java.lang.String left)
Constructs an ascending fragment. |
java.lang.String |
getAvg(java.lang.String middle)
Constructs a avg function. |
java.lang.String |
getCount(java.lang.String middle)
Constructs a count function. |
java.lang.String |
getDelete(java.lang.String left)
Constructs a delete fragment. |
java.lang.String |
getDescending(java.lang.String left)
Constructs a descending fragment. |
java.lang.String |
getEquals(java.lang.String left,
java.lang.String right)
Constructs a logical comparison using the equals operator. |
java.lang.String |
getFrom(java.util.List list)
Constructs a from fragment. |
java.lang.String |
getFrom(java.lang.String tableName)
Constructs a from fragment. |
java.lang.String |
getGreaterEqual(java.lang.String left,
java.lang.String right)
Constructs a logical comparison using the greater than or equal to operator. |
java.lang.String |
getGreaterThan(java.lang.String left,
java.lang.String right)
Constructs a logical comparison using the greater than operator. |
java.lang.String |
getGroupBy(java.util.List list)
Constructs a group by fragment. |
java.lang.String |
getHaving(java.lang.String middle)
Constructs a having fragment. |
java.lang.String |
getIn(java.lang.String left,
java.util.List list)
Constructs an in fragment. |
java.lang.String |
getInsert(java.lang.String left,
java.util.List list)
Constructs an insert fragment. |
java.lang.String |
getIsNotNull(java.lang.String left)
Constructs an is not null fragment. |
java.lang.String |
getIsNull(java.lang.String left)
Constructs an is null fragment. |
java.lang.String |
getLessEqual(java.lang.String left,
java.lang.String right)
Constructs a logical comparison using the less than or equal to operator. |
java.lang.String |
getLessThan(java.lang.String left,
java.lang.String right)
Constructs a logical comparison using the less than operator. |
java.lang.String |
getLike(java.lang.String left,
java.lang.String right)
Constructs a logical comparison using the like operator. |
java.lang.String |
getMax(java.lang.String middle)
Constructs a max function. |
java.lang.String |
getMin(java.lang.String middle)
Constructs a min function. |
java.lang.String |
getNot(java.lang.String right)
Constructs a logical comparison using the not operator. |
java.lang.String |
getNotEquals(java.lang.String left,
java.lang.String right)
Constructs a logical comparison using the not equals operator. |
java.lang.String |
getNotIn(java.lang.String left,
java.util.List list)
Constructs an not in fragment. |
java.lang.String |
getOr(java.lang.String left,
java.lang.String right)
Constructs a logical comparison using the or operator. |
java.lang.String |
getOrderBy(java.util.List list)
Constructs an order by fragment. |
java.lang.String |
getOrderBy(java.lang.String fieldName)
Constructs an order by fragment. |
java.lang.String |
getSafeEquals(java.lang.String left,
java.lang.String right)
If right is not null, constructs an equals comparison othwerise, construts a isNull comparison |
java.lang.String |
getSafeNotEquals(java.lang.String left,
java.lang.String right)
If right is not null, constructs a not equals comparison othwerise, construts a isNotNull comparison |
java.lang.String |
getSelect(java.util.List list)
Constructs a select fragment. |
java.lang.String |
getSelectDistinct(java.util.List list)
Constructs a select distinct fragment. |
java.lang.String |
getSet(java.util.List list)
Constructs a set statement. |
java.lang.String |
getSet(java.lang.String left,
java.lang.String right)
Constructs a set statement. |
java.lang.String |
getSum(java.lang.String middle)
Constructs a sum function. |
java.lang.String |
getUpdate(java.lang.String item,
java.util.List list)
Constructs an update fragment. |
java.lang.String |
getUpper(java.lang.String middle)
Constructs an upper function. |
java.lang.String |
getValues(java.util.List list)
Constructs a values fragment. |
java.lang.String |
getWhere(java.lang.String middle)
Constructs a where fragment. |
protected java.lang.String |
leftMiddleRight(java.lang.StringBuffer sb,
java.lang.String left,
java.lang.String middle,
java.lang.String right)
|
protected java.lang.String |
leftMiddleRight(java.lang.String left,
java.lang.String middle,
java.lang.String right)
The workhorse used by several other methods to construct a String of the form [left][middle][right]. |
protected void |
leftRightListConnector(java.lang.StringBuffer sb,
java.lang.String left,
java.lang.String right,
java.util.List list,
java.lang.String connector)
|
protected java.lang.String |
leftRightListConnector(java.lang.String left,
java.lang.String right,
java.util.List list,
java.lang.String connector)
The workhorse used by several other methods to construct a String of the form [left][item1][connector][item2][connector]...[itemN][right]. |
java.lang.String |
quoteAndEscapeText(java.lang.String rawText)
Quotes and escapes raw text for placement in a SQL expression. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
EMPTY
public static java.lang.String EMPTY
SPACE
public static java.lang.String SPACE
INSERT
public static java.lang.String INSERT
VALUES
public static java.lang.String VALUES
UPDATE
public static java.lang.String UPDATE
DELETE
public static java.lang.String DELETE
SELECT
public static java.lang.String SELECT
SELECT_DISTINCT
public static java.lang.String SELECT_DISTINCT
SET
public static java.lang.String SET
FROM
public static java.lang.String FROM
WHERE
public static java.lang.String WHERE
ORDER_BY
public static java.lang.String ORDER_BY
GROUP_BY
public static java.lang.String GROUP_BY
HAVING
public static java.lang.String HAVING
ASC
public static java.lang.String ASC
DESC
public static java.lang.String DESC
OPEN_PAREN
public static java.lang.String OPEN_PAREN
CLOSE_PAREN
public static java.lang.String CLOSE_PAREN
EQUALS
public static java.lang.String EQUALS
NOT_EQUALS
public static java.lang.String NOT_EQUALS
GREATER_THAN
public static java.lang.String GREATER_THAN
LESS_THAN
public static java.lang.String LESS_THAN
GREATER_EQUAL
public static java.lang.String GREATER_EQUAL
LESS_EQUAL
public static java.lang.String LESS_EQUAL
IS_NULL
public static java.lang.String IS_NULL
IS_NOT_NULL
public static java.lang.String IS_NOT_NULL
IN
public static java.lang.String IN
NOT_IN
public static java.lang.String NOT_IN
LIKE
public static java.lang.String LIKE
AND
public static java.lang.String AND
OR
public static java.lang.String OR
NOT
public static java.lang.String NOT
COUNT
public static java.lang.String COUNT
MIN
public static java.lang.String MIN
MAX
public static java.lang.String MAX
AVG
public static java.lang.String AVG
SUM
public static java.lang.String SUM
UPPER
public static java.lang.String UPPER
COMMA
public static java.lang.String COMMA
SINGLE_QUOTE
private static final char SINGLE_QUOTE
- See Also:
- Constant Field Values
| Constructor Detail |
BaseSql
public BaseSql()
| Method Detail |
leftMiddleRight
protected java.lang.String leftMiddleRight(java.lang.String left, java.lang.String middle, java.lang.String right)
- The workhorse used by several other methods to construct a
String of the form [left][middle][right].
this is useful for at least the following SQL fragments:
where (foo_id=25) middle: foo_id=25 set (foo_id=25) middle: foo_id=25 table.column asc left is EMPTY, middle: "table.column" upper (table.column) middle: table.column count(*) middle: * (table.column=15) middle:table.column=15 table.column=15 middle: = uppercase(table.column) like 'FOO%' middle: like (table.column>10) AND (table.column<=20) middle: AND set table.column=25 middle: table.column=25, right is EMPTY
leftMiddleRight
protected java.lang.String leftMiddleRight(java.lang.StringBuffer sb, java.lang.String left, java.lang.String middle, java.lang.String right)
leftRightListConnector
protected java.lang.String leftRightListConnector(java.lang.String left, java.lang.String right, java.util.List list, java.lang.String connector)
- The workhorse used by several other methods to construct a
String of the form
[left][item1][connector][item2][connector]...[itemN][right].
this is useful for at least the following SQL fragments:
insert (columnA, columnB, columnC)
values ('one', 'two', 'three')
(the following examples use an EMPTY right argument)
select columnA, sum(columnB), avg(columnB)
from table1 t1, table2 t2
order by columnC desc, columnA asc
group by columnA
leftRightListConnector
protected void leftRightListConnector(java.lang.StringBuffer sb, java.lang.String left, java.lang.String right, java.util.List list, java.lang.String connector)
getEquals
public java.lang.String getEquals(java.lang.String left, java.lang.String right)
getSafeEquals
public java.lang.String getSafeEquals(java.lang.String left, java.lang.String right)
- If right is not null, constructs an equals comparison
othwerise, construts a isNull comparison
getNotEquals
public java.lang.String getNotEquals(java.lang.String left, java.lang.String right)
- Constructs a logical comparison using the not equals operator.
- Specified by:
getNotEqualsin interfaceSql
getSafeNotEquals
public java.lang.String getSafeNotEquals(java.lang.String left, java.lang.String right)
- If right is not null, constructs a not equals comparison
othwerise, construts a isNotNull comparison
getLessThan
public java.lang.String getLessThan(java.lang.String left, java.lang.String right)
- Constructs a logical comparison using the less than operator.
- Specified by:
getLessThanin interfaceSql
getGreaterThan
public java.lang.String getGreaterThan(java.lang.String left, java.lang.String right)
- Constructs a logical comparison using the greater than operator.
- Specified by:
getGreaterThanin interfaceSql
getLessEqual
public java.lang.String getLessEqual(java.lang.String left, java.lang.String right)
- Constructs a logical comparison using the less than or equal to
operator.
- Specified by:
getLessEqualin interfaceSql
getGreaterEqual
public java.lang.String getGreaterEqual(java.lang.String left, java.lang.String right)
- Constructs a logical comparison using the greater than or equal
to operator.
- Specified by:
getGreaterEqualin interfaceSql
getIsNull
public java.lang.String getIsNull(java.lang.String left)
getIsNotNull
public java.lang.String getIsNotNull(java.lang.String left)
- Constructs an is not null fragment.
- Specified by:
getIsNotNullin interfaceSql
getIn
public java.lang.String getIn(java.lang.String left, java.util.List list)
getNotIn
public java.lang.String getNotIn(java.lang.String left, java.util.List list)
getLike
public java.lang.String getLike(java.lang.String left, java.lang.String right)
getAnd
public java.lang.String getAnd(java.lang.String left, java.lang.String right)
getOr
public java.lang.String getOr(java.lang.String left, java.lang.String right)
getNot
public java.lang.String getNot(java.lang.String right)
getAscending
public java.lang.String getAscending(java.lang.String left)
- Constructs an ascending fragment.
- Specified by:
getAscendingin interfaceSql
getDescending
public java.lang.String getDescending(java.lang.String left)
- Constructs a descending fragment.
- Specified by:
getDescendingin interfaceSql
getInsert
public java.lang.String getInsert(java.lang.String left, java.util.List list)
getValues
public java.lang.String getValues(java.util.List list)
getUpdate
public java.lang.String getUpdate(java.lang.String item, java.util.List list)
getSet
public java.lang.String getSet(java.lang.String left, java.lang.String right)
getSet
public java.lang.String getSet(java.util.List list)
- Constructs a set statement.
getDelete
public java.lang.String getDelete(java.lang.String left)
getSelect
public java.lang.String getSelect(java.util.List list)
getSelectDistinct
public java.lang.String getSelectDistinct(java.util.List list)
- Constructs a select distinct fragment.
getFrom
public java.lang.String getFrom(java.util.List list)
getFrom
public java.lang.String getFrom(java.lang.String tableName)
- Constructs a from fragment.
getWhere
public java.lang.String getWhere(java.lang.String middle)
getHaving
public java.lang.String getHaving(java.lang.String middle)
getOrderBy
public java.lang.String getOrderBy(java.util.List list)
- Constructs an order by fragment.
- Specified by:
getOrderByin interfaceSql
getOrderBy
public java.lang.String getOrderBy(java.lang.String fieldName)
- Constructs an order by fragment.
getGroupBy
public java.lang.String getGroupBy(java.util.List list)
- Constructs a group by fragment.
- Specified by:
getGroupByin interfaceSql
getCount
public java.lang.String getCount(java.lang.String middle)
getMin
public java.lang.String getMin(java.lang.String middle)
getMax
public java.lang.String getMax(java.lang.String middle)
getAvg
public java.lang.String getAvg(java.lang.String middle)
getSum
public java.lang.String getSum(java.lang.String middle)
getUpper
public java.lang.String getUpper(java.lang.String middle)
quoteAndEscapeText
public java.lang.String quoteAndEscapeText(java.lang.String rawText)
- Quotes and escapes raw text for placement in a SQL expression.
For simplicity, the text is assumed to be neither quoted nor
escaped.
raw string: O'Malley's Can't be beat!
qutoed and escaped: 'O''Malley''s Can''t be beat!'
- Specified by:
quoteAndEscapeTextin interfaceSql
|
|||||||||
| Home >> All >> org >> apache >> turbine >> util >> db >> [ statement overview ] | PREV CLASS NEXT CLASS | ||||||||
SUMMARY: JAVADOC | SOURCE | DOWNLOAD | NESTED | FIELD | CONSTR | METHOD |
DETAIL: FIELD | CONSTR | METHOD | ||||||||
JAVADOC
org.apache.turbine.util.db.statement.BaseSql