2
我一直沒能看到任何其中提到我的問題,並在部署它的文檔中,我的應用程序不會(在幾秒鐘之更上)不完全工作的權利。我正在嘗試類似於設置經由參數子句中的MyBatis
<select id="getLookupRows" parameterType="map" resultMap="lookupMap">
select id, name, active, valid
from #{table}
</select>
in 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);
,所以我們知道,我想一個字符串傳遞給該查詢,沒什麼特別的。我有特定的專欄,因爲那將是我的下一個任務。真的每個查找表中的列之一是獨一無二的,所以我必須調用相應的specificColumn,但如果我可以在表中參數和FROM子句工作,我會很高興。
我想只需添加1個更多的澄清。我提到了根據表格的動態列名稱specificColumn。該查詢將被更好地寫成'選擇$ {} specificColumn如SC,ID,姓名,活動,valid'等。這允許我們在結果映射中引用特定列,比如' '沒有這個別名,看起來你不能引用resultMap中的特定列。 –
demongolem
2011-06-15 13:37:33