java.lang.CloneableSQLExecpublic abstract class JDBCTask extends Task
The following example class prints the contents of the first column of each row in TableName.
package examples;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.taskdefs.JDBCTask;
public class SQLExampleTask extends JDBCTask {
private String tableName;
public void execute() throws BuildException {
Connection conn = getConnection();
Statement stmt=null;
try {
if (tableName == null) {
throw new BuildException("TableName must be specified", location);
}
String sql = "SELECT * FROM "+tableName;
stmt= conn.createStatement();
ResultSet rs = stmt.executeQuery(sql);
while (rs.next()) {
log(rs.getObject(1).toString());
}
} catch (SQLException e) {
} finally {
if (stmt != null) {
try {stmt.close();}catch (SQLException ignore) {}
}
if (conn != null) {
try {conn.close();}catch (SQLException ignore) {}
}
}
}
public void setTableName(String tableName) {
this.tableName = tableName;
}
}
description, location, project| Constructor | Description |
|---|---|
JDBCTask() |
| Modifier and Type | Method | Description |
|---|---|---|
void |
addConnectionProperty(Property var) |
Additional properties to put into the JDBC connection string.
|
Path |
createClasspath() |
Add a path to the classpath for loading the driver.
|
Path |
getClasspath() |
Gets the classpath.
|
protected java.sql.Connection |
getConnection() |
Creates a new Connection as using the driver, url, userid and password
specified.
|
protected AntClassLoader |
getLoader() |
Get the classloader used to create a driver.
|
protected static java.util.Hashtable<java.lang.String,AntClassLoader> |
getLoaderMap() |
Get the cache of loaders and drivers.
|
java.lang.String |
getPassword() |
Gets the password.
|
java.lang.String |
getRdbms() |
Gets the rdbms.
|
java.lang.String |
getUrl() |
Gets the url.
|
java.lang.String |
getUserId() |
Gets the userId.
|
java.lang.String |
getVersion() |
Gets the version.
|
boolean |
isAutocommit() |
Gets the autocommit.
|
void |
isCaching(boolean value) |
Set the caching attribute.
|
protected boolean |
isValidRdbms(java.sql.Connection conn) |
Verify we are connected to the correct RDBMS
|
void |
setAutocommit(boolean autocommit) |
Auto commit flag for database connection;
optional, default false.
|
void |
setCaching(boolean enable) |
Caching loaders / driver.
|
void |
setClasspath(Path classpath) |
Sets the classpath for loading the driver.
|
void |
setClasspathRef(Reference r) |
Set the classpath for loading the driver
using the classpath reference.
|
void |
setDriver(java.lang.String driver) |
Class name of the JDBC driver; required.
|
void |
setFailOnConnectionError(boolean b) |
whether the task should cause the build to fail if it cannot
connect to the database.
|
void |
setPassword(java.lang.String password) |
Sets the password; required.
|
void |
setRdbms(java.lang.String rdbms) |
Execute task only if the lower case product name
of the DB matches this
|
void |
setUrl(java.lang.String url) |
Sets the database connection URL; required.
|
void |
setUserid(java.lang.String userId) |
Set the user name for the connection; required.
|
void |
setVersion(java.lang.String version) |
Sets the version string, execute task only if
rdbms version match; optional.
|
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitclone, getDescription, getLocation, getProject, setDescription, setLocation, setProjectbindToOwner, execute, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, init, isInvalid, log, log, log, log, maybeConfigure, perform, reconfigure, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskTypepublic void setClasspath(Path classpath)
classpath - The classpath to setpublic void setCaching(boolean enable)
enable - a boolean valuepublic Path createClasspath()
public void setClasspathRef(Reference r)
r - a reference to a classpathpublic void setDriver(java.lang.String driver)
driver - The driver to setpublic void setUrl(java.lang.String url)
url - The url to setpublic void setPassword(java.lang.String password)
password - The password to setpublic void setAutocommit(boolean autocommit)
autocommit - The autocommit to setpublic void setRdbms(java.lang.String rdbms)
rdbms - The rdbms to setpublic void setVersion(java.lang.String version)
version - The version to setpublic void setFailOnConnectionError(boolean b)
b - booleanprotected boolean isValidRdbms(java.sql.Connection conn)
conn - the jdbc connectionprotected static java.util.Hashtable<java.lang.String,AntClassLoader> getLoaderMap()
protected AntClassLoader getLoader()
public void addConnectionProperty(Property var)
var - Propertyprotected java.sql.Connection getConnection()
throws BuildException
BuildException - if the UserId/Password/Url is not set or there
is no suitable driver or the driver fails to load.public void isCaching(boolean value)
value - a boolean valuepublic Path getClasspath()
public boolean isAutocommit()
public java.lang.String getUrl()
public java.lang.String getUserId()
public void setUserid(java.lang.String userId)
userId - The userId to setpublic java.lang.String getPassword()
public java.lang.String getRdbms()
public java.lang.String getVersion()