|
Groovy 1.8.4 | |||||||
FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectgroovy.sql.Sql
groovy.sql.DataSet
public class DataSet extends Sql
An enhancement of Groovy's Sql class providing support for accessing and querying databases using POGO fields and operators rather than JDBC-level API calls and RDBMS column names. So, instead of a query like:
def db = // an instance of groovy.sql.Sql def sql = '''select * from Person where (purchaseCount > ? and birthMonth = ?) and (lastName < ? or lastName > ?) and age < ? and age > ? and firstName != ? order by firstName DESC, age''' def params = [10, "January", "Zulu", "Alpha", 99, 5, "Bert"] def sortedPeopleOfInterest = db.rows(sql, params)You can write code like this:
def person = new DataSet(db, 'Person') // or db.dataSet('Person'), or db.dataSet(Person) def janFrequentBuyers = person.findAll { it.purchaseCount > 10 && it.lastName == "January" } def sortedPeopleOfInterest = janFrequentBuyers. findAll{ it.lastName < 'Zulu' || it.lastName > 'Alpha' }. findAll{ it.age < 99 }. findAll{ it.age > 5 }. sort{ it.firstName }.reverse(). findAll{ it.firstName != 'Bert' }. sort{ it.age }Currently, the Groovy source code for any accessed POGO must be on the classpath at runtime.
Field Summary |
---|
Fields inherited from class Sql | |
---|---|
ARRAY, BIGINT, BINARY, BIT, BLOB, BOOLEAN, CHAR, CLOB, DATALINK, DATE, DECIMAL, DISTINCT, DOUBLE, FLOAT, INTEGER, JAVA_OBJECT, LOG, LONGVARBINARY, LONGVARCHAR, NULL, NUMERIC, OTHER, REAL, REF, SMALLINT, STRUCT, TIME, TIMESTAMP, TINYINT, VARBINARY, VARCHAR |
Constructor Summary | |
DataSet(Sql sql, Class type)
|
|
DataSet(Sql sql, String table)
|
Method Summary | |
---|---|
void
|
add(Map map)
|
void
|
cacheConnection(Closure closure)
|
protected void
|
closeResources(Connection connection, Statement statement, ResultSet results)
|
protected void
|
closeResources(Connection connection, Statement statement)
|
void
|
commit()
|
protected Connection
|
createConnection()
|
DataSet
|
createView(Closure criteria)
|
void
|
each(Closure closure)
|
DataSet
|
findAll(Closure where)
|
Object
|
firstRow()
Returns the first row from a DataSet's underlying table |
List
|
getParameters()
|
String
|
getSql()
|
protected SqlOrderByVisitor
|
getSqlOrderByVisitor()
|
protected SqlWhereVisitor
|
getSqlWhereVisitor()
|
DataSet
|
reverse()
|
void
|
rollback()
|
List
|
rows()
Returns a List of all of the rows from the table a DataSet represents |
DataSet
|
sort(Closure sort)
|
void
|
withTransaction(Closure closure)
|
Methods inherited from class Object | |
---|---|
wait, wait, wait, equals, toString, hashCode, getClass, notify, notifyAll |
Constructor Detail |
---|
public DataSet(Sql sql, Class type)
public DataSet(Sql sql, String table)
Method Detail |
---|
public void add(Map map)
@Override public void cacheConnection(Closure closure)
@Override protected void closeResources(Connection connection, Statement statement, ResultSet results)
@Override protected void closeResources(Connection connection, Statement statement)
@Override public void commit()
@Override protected Connection createConnection()
public DataSet createView(Closure criteria)
public void each(Closure closure)
public DataSet findAll(Closure where)
public Object firstRow()
public List getParameters()
public String getSql()
protected SqlOrderByVisitor getSqlOrderByVisitor()
protected SqlWhereVisitor getSqlWhereVisitor()
public DataSet reverse()
@Override public void rollback()
public List rows()
public DataSet sort(Closure sort)
@Override public void withTransaction(Closure closure)
Copyright © 2003-2011 The Codehaus. All rights reserved.