Я использую Java 8, драйвер JDBC с соединителем MySQL v. 5.1.31.
Я могу получить реальную строку SQL, используя этот метод:
// 1. make connection somehow, it's conn variable
// 2. make prepered statement template
PreparedStatement stmt = conn.prepareStatement(
"INSERT INTO oc_manufacturer" +
" SET" +
" manufacturer_id = ?," +
" name = ?," +
" sort_order=0;"
);
// 3. fill template
stmt.setInt(1, 23);
stmt.setString(2, 'Google');
// 4. print sql string
System.out.println(((JDBC4PreparedStatement)stmt).asSql());
Итак, это возвращает smth следующим образом:
INSERT INTO oc_manufacturer SET manufacturer_id = 23, name = 'Google', sort_order=0;