下面一段代码在windows下是正常编译通过,但是在linux下编译不通过,通过调查发现在查询方法的时候没有加强制类型转换,在r的前面没有添加(ResultSetExtractor<Map<String, String>>)或(RowCallbackHandler)导致编译出错。加上即可编译。
代码:
Map<String, String> map = template.query(sql, new HashMap<>(), r -> { ******});
错误提示如下:
both method <T>query(java.lang.String,java.util.Map<java.lang.String,?>,org.springframework.jdbc.core.ResultSetExtractor<T>) in org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate and method query(java.lang.String,java.util.Map<java.lang.String,?>,org.springframework.jdbc.core.RowCallbackHandler) in org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate match