|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.springframework.test.jdbc.JdbcTestUtils
public class JdbcTestUtils
JdbcTestUtils
is a collection of JDBC related utility functions
intended to simplify standard database testing scenarios.
As of Spring 3.1.3, JdbcTestUtils
supersedes SimpleJdbcTestUtils
.
Constructor Summary | |
---|---|
JdbcTestUtils()
|
Method Summary | |
---|---|
static boolean |
containsSqlScriptDelimiters(String script,
char delim)
Determine if the provided SQL script contains the specified delimiter. |
static int |
countRowsInTable(JdbcTemplate jdbcTemplate,
String tableName)
Count the rows in the given table. |
static int |
countRowsInTableWhere(JdbcTemplate jdbcTemplate,
String tableName,
String whereClause)
Count the rows in the given table, using the provided WHERE clause. |
static int |
deleteFromTables(JdbcTemplate jdbcTemplate,
String... tableNames)
Delete all rows from the specified tables. |
static void |
dropTables(JdbcTemplate jdbcTemplate,
String... tableNames)
Drop the specified tables. |
static void |
executeSqlScript(JdbcTemplate jdbcTemplate,
EncodedResource resource,
boolean continueOnError)
Execute the given SQL script. |
static void |
executeSqlScript(JdbcTemplate jdbcTemplate,
Resource resource,
boolean continueOnError)
Execute the given SQL script. |
static void |
executeSqlScript(JdbcTemplate jdbcTemplate,
ResourceLoader resourceLoader,
String sqlResourcePath,
boolean continueOnError)
Execute the given SQL script. |
static String |
readScript(LineNumberReader lineNumberReader)
Read a script from the provided LineNumberReader , using
"-- " as the comment prefix, and build a String containing
the lines. |
static String |
readScript(LineNumberReader lineNumberReader,
String commentPrefix)
Read a script from the provided LineNumberReader , using the supplied
comment prefix, and build a String containing the lines. |
static void |
splitSqlScript(String script,
char delim,
List<String> statements)
Split an SQL script into separate statements delimited with the provided delimiter character. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public JdbcTestUtils()
Method Detail |
---|
public static int countRowsInTable(JdbcTemplate jdbcTemplate, String tableName)
jdbcTemplate
- the JdbcTemplate with which to perform JDBC operationstableName
- name of the table to count rows in
public static int countRowsInTableWhere(JdbcTemplate jdbcTemplate, String tableName, String whereClause)
WHERE
clause.
If the provided WHERE
clause contains text, it will be prefixed
with " WHERE "
and then appended to the generated SELECT
statement. For example, if the provided table name is "person"
and
the provided where clause is "name = 'Bob' and age > 25"
, the
resulting SQL statement to execute will be
"SELECT COUNT(0) FROM person WHERE name = 'Bob' and age > 25"
.
jdbcTemplate
- the JdbcTemplate with which to perform JDBC operationstableName
- the name of the table to count rows inwhereClause
- the WHERE
clause to append to the query
WHERE
clausepublic static int deleteFromTables(JdbcTemplate jdbcTemplate, String... tableNames)
jdbcTemplate
- the JdbcTemplate with which to perform JDBC operationstableNames
- the names of the tables to delete from
public static void dropTables(JdbcTemplate jdbcTemplate, String... tableNames)
jdbcTemplate
- the JdbcTemplate with which to perform JDBC operationstableNames
- the names of the tables to droppublic static void executeSqlScript(JdbcTemplate jdbcTemplate, ResourceLoader resourceLoader, String sqlResourcePath, boolean continueOnError) throws DataAccessException
The script will typically be loaded from the classpath. There should be one statement per line. Any semicolons will be removed.
Do not use this method to execute DDL if you expect rollback.
jdbcTemplate
- the JdbcTemplate with which to perform JDBC operationsresourceLoader
- the resource loader with which to load the SQL scriptsqlResourcePath
- the Spring resource path for the SQL scriptcontinueOnError
- whether or not to continue without throwing an
exception in the event of an error
DataAccessException
- if there is an error executing a statement
and continueOnError
is false
ResourceDatabasePopulator
public static void executeSqlScript(JdbcTemplate jdbcTemplate, Resource resource, boolean continueOnError) throws DataAccessException
The script will typically be loaded from the classpath. Statements should be delimited with a semicolon. If statements are not delimited with a semicolon then there should be one statement per line. Statements are allowed to span lines only if they are delimited with a semicolon.
Do not use this method to execute DDL if you expect rollback.
jdbcTemplate
- the JdbcTemplate with which to perform JDBC operationsresource
- the resource to load the SQL script fromcontinueOnError
- whether or not to continue without throwing an
exception in the event of an error
DataAccessException
- if there is an error executing a statement
and continueOnError
is false
ResourceDatabasePopulator
public static void executeSqlScript(JdbcTemplate jdbcTemplate, EncodedResource resource, boolean continueOnError) throws DataAccessException
The script will typically be loaded from the classpath. There should be one statement per line. Any semicolons will be removed.
Do not use this method to execute DDL if you expect rollback.
jdbcTemplate
- the JdbcTemplate with which to perform JDBC operationsresource
- the resource (potentially associated with a specific encoding)
to load the SQL script fromcontinueOnError
- whether or not to continue without throwing an
exception in the event of an error
DataAccessException
- if there is an error executing a statement
and continueOnError
is false
ResourceDatabasePopulator
public static String readScript(LineNumberReader lineNumberReader) throws IOException
LineNumberReader
, using
"--
" as the comment prefix, and build a String
containing
the lines.
lineNumberReader
- the LineNumberReader
containing the script
to be processed
String
containing the script lines
IOException
readScript(LineNumberReader, String)
public static String readScript(LineNumberReader lineNumberReader, String commentPrefix) throws IOException
LineNumberReader
, using the supplied
comment prefix, and build a String
containing the lines.
lineNumberReader
- the LineNumberReader
containing the script
to be processedcommentPrefix
- the line prefix that identifies comments in the SQL script
String
containing the script lines
IOException
public static boolean containsSqlScriptDelimiters(String script, char delim)
script
- the SQL scriptdelim
- character delimiting each statement — typically a ';' character
true
if the script contains the delimiter; false
otherwisepublic static void splitSqlScript(String script, char delim, List<String> statements)
List
.
script
- the SQL scriptdelim
- character delimiting each statement — typically a ';' characterstatements
- the list that will contain the individual statements
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |