Я бы воспользовался форматировщиком строк Java:
String queryFormat = "select * from table1 where col1 between %1$s and %2$s " +
"union all " +
"select * from table2 where col1 between %1$s and %2$s " +
"union all " +
"select * from table3 where col1 between %1$s and %2$s";
String query = String.format(queryFormat,"5","10");
Первый аргумент, передаваемый методу формата, - это строка формата. %1$s
означает вставку 1 -ого аргумента типа s tring ("5"), а %2$s
означает вставку 2 nd аргумент типа s tring ("10").
Строка запроса будет содержать:
select * from table1 where col1 between 5 and 10 union all select * from table2 where col1 between 5 and 10 union all select * from table3 where col1 between 5 and 10
Вы можете узнать больше о классе Formatter здесь .
Надеюсь, это поможет.