0
如何使用NameParameterJdbcTemplate分頁查詢?使用NameParameterJdbctemplate分頁查詢
我與必要的JdbcTemplate的努力,但我犯一些錯誤..這是我的查詢:
sql.append("SELECT VGPT_EXE.* FROM ")
.append(Constants.T_VW_GPT_E_BASIC)
.append(" AS VGPT_EXE ")
.append("WHERE VGPT_EXE.")
.append(Constants.ID_SUBJECTE
+ " in (:listOfValues)");
PreparedStatementCreatorFactory pscf;
MapSqlParameterSource parameterss = new MapSqlParameterSource();
parameterss.addValue("listOfValues", ids);
pscf = new PreparedStatementCreatorFactory(sql.toString());
pscf.setResultSetType(ResultSet.TYPE_SCROLL_INSENSITIVE);
所以我相信在namedParameter查詢我不能二傳手列表值的問題?或者我做錯了。
resultat.setResultats((List<IDeute>) template.getJdbcOperations()
.query((PreparedStatementCreator) pscf.newPreparedStatementSetter(new ArrayList<Long>(parameterss.getValues().values())),
new ResultSetPaginatExtractor(new MapperDeute(),
resultat.getFiles(),
resultat.getInici())));
ResultSetPaginatExtractor是ResultSetExtractor的一個實現,我可以設置文件的數量和最前一頁一行。
堆棧跟蹤:
nested exception is org.springframework.dao.DataRetrievalFailureException: S'ha produit un error en la recuperació del deute associat a la clau de subjecte 3375876; nested exception is org.springframework.dao.InvalidDataAccessApiUsageException: SQL [SELECT VGPT_EXE.* FROM vw_gpt_e_basic AS VGPT_EXE WHERE VGPT_EXE.id_subjecte in (:listOfValues) ORDER BY VGPT_EXE.cc_cod_prov, VGPT_EXE.cc_cod_emisor, VGPT_EXE.cc_cod_concepte, VGPT_EXE.cc_any, VGPT_EXE.cc_periode, VGPT_EXE.cc_num_rebut]: given 1 parameters but expected 0