Czy widziałeś JDBC Szablon NamedParameterJDBCT ?
Możesz robić takie rzeczy jak:
String sql = "select count(0) from T_ACTOR where first_name = :first_name";
SqlParameterSource namedParameters = new MapSqlParameterSource("first_name", firstName);
return namedParameterJdbcTemplate.queryForInt(sql, namedParameters);
i zbuduj ciąg zapytania dynamicznie, a następnie zbuduj swój SqlParameterSource
podobnie.