Как проверить методы DAO с помощью Mockito?

Я начал обнаруживать библиотеку Mockito, и есть вопрос, на который я не нашел правильного ответа.

Если у меня есть, например, такой метод в моем классе UserDAO, который сохраняет пользователя в базе данных:

public class UserDAO{
...
 public void create(User user) {
        Connection connection = null;
        PreparedStatement pstmt = null;
        ResultSet generatedKeys = null;
        try {

            connection = getConnection();
            pstmt = connection.prepareStatement(INSERT_USER,
                    PreparedStatement.RETURN_GENERATED_KEYS);
            int counter = 1;
            pstmt.setString(counter++, user.getFirstName());
            pstmt.setString(counter++, user.getLastName());
            pstmt.setString(counter++, user.getEmail());
            pstmt.setString(counter++, user.getPassword());
            pstmt.setString(counter++, user.getRole());
            pstmt.setString(counter, user.getLang());

            pstmt.execute();
            connection.commit();
            generatedKeys = pstmt.getGeneratedKeys();

            if (generatedKeys.next()) {
                user.setId(generatedKeys.getInt(Fields.GENERATED_KEY));
            }
        } catch (SQLException e) {
            rollback(connection);
            LOG.error("Can not create a user", e);
        } finally {
            close(connection);
            close(pstmt);
            close(generatedKeys);
        }
    }
  ....
}

Как мне это проверить?

Если я хочу проверить, например, класс DAO, мне нужно создатьDataSource издеваться,Connection издеваться,ResultSet издеваться и т.д? А чтобы не тестировать саму базу данных?

Но что, если я хочу также проверить поведение dao и базы данных?

Не могли бы вы привести примеры кода, ссылки, которые могли бы быть полезными и показать лучшие подходы к этому?

Ответы на вопрос(3)

Ваш ответ на вопрос