Package org.springframework.test.jdbc

# Class JdbcTestUtils

java.lang.Object
org.springframework.test.jdbc.JdbcTestUtils

public abstract class JdbcTestUtils extends Object
`JdbcTestUtils` is a collection of JDBC related utility functions intended to simplify standard database testing scenarios.

Since:
  2.5.4
Author:
  Thomas Risberg, Sam Brannen, Juergen Hoeller, Phillip Webb, Chris Baldwin
See Also:
  - `JdbcOperations`
  - `JdbcTemplate`
  - `ScriptUtils`
  - `ResourceDatabasePopulator`
  - `DatabasePopulatorUtils`

## Constructor Summary

Constructors
Constructor
Description
`JdbcTestUtils()`

## Method Summary

Modifier and Type
Method
Description
`static int`
`countRowsInTable(org.springframework.jdbc.core.JdbcOperations jdbcTemplate, String tableName)`
Count the rows in the given table.
`static int`
`countRowsInTable(org.springframework.jdbc.core.simple.JdbcClient jdbcClient, String tableName)`
Count the rows in the given table.
`static int`
`countRowsInTableWhere(org.springframework.jdbc.core.JdbcOperations jdbcTemplate, String tableName, String whereClause)`
Count the rows in the given table, using the provided `WHERE` clause.
`static int`
`countRowsInTableWhere(org.springframework.jdbc.core.simple.JdbcClient jdbcClient, String tableName, String whereClause)`
Count the rows in the given table, using the provided `WHERE` clause.
`static int`
`deleteFromTables(org.springframework.jdbc.core.JdbcOperations jdbcTemplate, String... tableNames)`
Delete all rows from the specified tables.
`static int`
`deleteFromTables(org.springframework.jdbc.core.simple.JdbcClient jdbcClient, String... tableNames)`
Delete all rows from the specified tables.
`static int`
`deleteFromTableWhere(org.springframework.jdbc.core.JdbcOperations jdbcTemplate, String tableName, String whereClause, Object... args)`
Delete rows from the given table, using the provided `WHERE` clause.
`static int`
`deleteFromTableWhere(org.springframework.jdbc.core.simple.JdbcClient jdbcClient, String tableName, String whereClause, Object... args)`
Delete rows from the given table, using the provided `WHERE` clause.
`static void`
`dropTables(org.springframework.jdbc.core.JdbcOperations jdbcTemplate, String... tableNames)`
Drop the specified tables.
`static void`
`dropTables(org.springframework.jdbc.core.simple.JdbcClient jdbcClient, String... tableNames)`
Drop the specified tables.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### JdbcTestUtils

public JdbcTestUtils()

## Method Details

### countRowsInTable

public static int countRowsInTable(org.springframework.jdbc.core.JdbcOperations jdbcTemplate, String tableName)
Count the rows in the given table.

Parameters:
  `jdbcTemplate` - the `JdbcOperations` with which to perform JDBC operations
  `tableName` - name of the table to count rows in
Returns:
  the number of rows in the table

### countRowsInTable

public static int countRowsInTable(org.springframework.jdbc.core.simple.JdbcClient jdbcClient, String tableName)
Count the rows in the given table.

Parameters:
  `jdbcClient` - the `JdbcClient` with which to perform JDBC operations
  `tableName` - name of the table to count rows in
Returns:
  the number of rows in the table
Since:
  6.1

### countRowsInTableWhere

public static int countRowsInTableWhere(org.springframework.jdbc.core.JdbcOperations jdbcTemplate, String tableName, @Nullable String whereClause)
Count the rows in the given table, using the provided `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"`.

Parameters:
  `jdbcTemplate` - the `JdbcOperations` with which to perform JDBC operations
  `tableName` - the name of the table to count rows in
  `whereClause` - the `WHERE` clause to append to the query
Returns:
  the number of rows in the table that match the provided `WHERE` clause

### countRowsInTableWhere

public static int countRowsInTableWhere(org.springframework.jdbc.core.simple.JdbcClient jdbcClient, String tableName, @Nullable String whereClause)
Count the rows in the given table, using the provided `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"`.

Parameters:
  `jdbcClient` - the `JdbcClient` with which to perform JDBC operations
  `tableName` - the name of the table to count rows in
  `whereClause` - the `WHERE` clause to append to the query
Returns:
  the number of rows in the table that match the provided `WHERE` clause
Since:
  6.1

### deleteFromTables

public static int deleteFromTables(org.springframework.jdbc.core.JdbcOperations jdbcTemplate, String... tableNames)
Delete all rows from the specified tables.

Parameters:
  `jdbcTemplate` - the `JdbcOperations` with which to perform JDBC operations
  `tableNames` - the names of the tables to delete from
Returns:
  the total number of rows deleted from all specified tables

### deleteFromTables

public static int deleteFromTables(org.springframework.jdbc.core.simple.JdbcClient jdbcClient, String... tableNames)
Delete all rows from the specified tables.

Parameters:
  `jdbcClient` - the `JdbcClient` with which to perform JDBC operations
  `tableNames` - the names of the tables to delete from
Returns:
  the total number of rows deleted from all specified tables
Since:
  6.1

### deleteFromTableWhere

public static int deleteFromTableWhere(org.springframework.jdbc.core.JdbcOperations jdbcTemplate, String tableName, String whereClause, Object... args)
Delete rows from the given table, using the provided `WHERE` clause.

If the provided `WHERE` clause contains text, it will be prefixed with `" WHERE "` and then appended to the generated `DELETE` 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 `"DELETE FROM person WHERE name = 'Bob' and age > 25"`.

As an alternative to hard-coded values, the `"?"` placeholder can be used within the `WHERE` clause, binding to the given arguments.

Parameters:
  `jdbcTemplate` - the `JdbcOperations` with which to perform JDBC operations
  `tableName` - the name of the table to delete rows from
  `whereClause` - the `WHERE` clause to append to the query
  `args` - arguments to bind to the query (leaving it to the PreparedStatement to guess the corresponding SQL type); may also contain `SqlParameterValue` objects which indicate not only the argument value but also the SQL type and optionally the scale.
Returns:
  the number of rows deleted from the table

### deleteFromTableWhere

public static int deleteFromTableWhere(org.springframework.jdbc.core.simple.JdbcClient jdbcClient, String tableName, String whereClause, Object... args)
Delete rows from the given table, using the provided `WHERE` clause.

If the provided `WHERE` clause contains text, it will be prefixed with `" WHERE "` and then appended to the generated `DELETE` 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 `"DELETE FROM person WHERE name = 'Bob' and age > 25"`.

As an alternative to hard-coded values, the `"?"` placeholder can be used within the `WHERE` clause, binding to the given arguments.

Parameters:
  `jdbcClient` - the `JdbcClient` with which to perform JDBC operations
  `tableName` - the name of the table to delete rows from
  `whereClause` - the `WHERE` clause to append to the query
  `args` - arguments to bind to the query (leaving it to the PreparedStatement to guess the corresponding SQL type); may also contain `SqlParameterValue` objects which indicate not only the argument value but also the SQL type and optionally the scale.
Returns:
  the number of rows deleted from the table
Since:
  6.1

### dropTables

public static void dropTables(org.springframework.jdbc.core.JdbcOperations jdbcTemplate, String... tableNames)
Drop the specified tables.

Parameters:
  `jdbcTemplate` - the `JdbcOperations` with which to perform JDBC operations
  `tableNames` - the names of the tables to drop

### dropTables

public static void dropTables(org.springframework.jdbc.core.simple.JdbcClient jdbcClient, String... tableNames)
Drop the specified tables.

Parameters:
  `jdbcClient` - the `JdbcClient` with which to perform JDBC operations
  `tableNames` - the names of the tables to drop
Since:
  6.1