Como usar uma variável tablename para uma inserção de instrução preparada em java [duplicate]

Esta pergunta já tem uma resposta aqui:

Usando instruções preparadas para definir o nome da tabela respostas

Estou usando um objeto Java PreparedStatment para construir uma série de consultas INSERT em lote. A instrução de consulta está no formato ...

String strQuery = "INSERT INTO ? (col1, col2, col3, col4, col5) VALUES (?,?,?,?,?,?);";

... então os valores dos campos e o nome da tabela são variáveis (ou seja, tenho várias tabelas com o mesmo formato de coluna, das quais cada inserção será direcionada para uma diferente). Posso executar as execuções se remover o "?" variável de nome de tabela e código rígido, mas cada instrução preparada será inserida em uma tabela diferente, portanto, ela deve permanecer uma variável que eu preencha imediatamente antes de executar a consulta em lote usando ...

stmt.setString(1, "tableName1");

Como posso deixar que essa seja uma variável dinâmica, por favor?

questionAnswers(5)

yourAnswerToTheQuestion