私の質問を説明するドキュメントには何も表示されていません。それをデプロイすると、私のアプリは完全に機能しません(これについては後ほど詳しく説明します)。私は次のようなことをしようとしています
<select id="getLookupRows" parameterType="map" resultMap="lookupMap">
select id, name, active, valid
from #{table}
</select>
MyBatisで。列を共有するルックアップテーブルがいくつかあるため、ビューレベルのユーザーが、最終的に使用されるルックアップテーブルを決定します。getLookupRowsを実行しようとするとエラーが発生します
Cause: org.apache.ibatis.executor.ExecutorException: There was no TypeHandler found for parameter table of statement info.pureshasta.mapper.LookupMapper.getLookupRows
org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:8)
org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:77)
org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:69)
org.apache.ibatis.binding.MapperMethod.executeForList(MapperMethod.java:85)
org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:65)
org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:38)
$Proxy15.getLookupRows(Unknown Source)
info.pureshasta.service.FieldTitleService.getLookupRows(FieldTitleService.java:33)
私のマッパーインターフェースは次のとおりです。
List<Lookup> getLookupRows(@Param("specificColumn") String specificColumn,
@Param("table") String table);
したがって、このクエリに文字列を渡そうとしていることがわかります。特別なことは何もありません。次のタスクになるので、特定の列があります。実際には、各ルックアップテーブルの列の1つが一意であるため、適切なspecificColumnを呼び出す必要がありますが、テーブルパラメーターとFROM句が機能するようになれば本当に嬉しいです。