Java 如何使用JDBCTemplate和MapParameterSource创建动态SELECT子句?

Java 如何使用JDBCTemplate和MapParameterSource创建动态SELECT子句?,java,sql,spring,spring-data,jdbctemplate,Java,Sql,Spring,Spring Data,Jdbctemplate,我们在春季的非JPA repositores已经(并且将会)有很多类似的样板代码。为了最大限度地减少可能的人为错误并减少令人麻木的工作,我们想编写几个实用程序类。为此,我需要能够在select语句中插入列 我能做的是: final String sql = "SELECT " + myDynamicColumn + " FROM ....." 这很有效。但是,我们使用的是jdbcTemplate和MapSqlParameterSource,因此,我希望能够做到以下几点: final Strin

我们在春季的非JPA repositores已经(并且将会)有很多类似的样板代码。为了最大限度地减少可能的人为错误并减少令人麻木的工作,我们想编写几个实用程序类。为此,我需要能够在select语句中插入列

我能做的是:

final String sql = "SELECT " + myDynamicColumn + " FROM ....."
这很有效。但是,我们使用的是jdbcTemplate和MapSqlParameterSource,因此,我希望能够做到以下几点:

final String sql = "SELECT :myColumn FROM ...";
sqlParams.add("myColumn","realColumnName");
...
但是,这不起作用,因为在执行过程中,任何参数都被放入单引号中,这是无效的SQL。这使得代码不透明,因为它迫使我混合使用这两种样式

是否有一种方法可以“告诉”MapSqlParameterSource需要按原样插入该特定元素,而无需对其进行格式化