jdbcTemplate中in的用法与其他的用法不同,不能用?占位符传参,需要直接将参赛拼接到sql,并且字符串要用两个''号引起来,这样跟数据库查询方式相同
@Test public void testJdbcTemplateIn() throws Exception{ String mobile = "'15097016348','17607180718'"; String sql = "select SA.id ,SA.USERNAME from SYS_ACCOUNT sa\n" + "where mobile in ( " + mobile +")"; List<Map<String, Object>> mapList = jdbcTemplate.queryForList(sql); for (Map<String, Object> map : mapList) { System.out.println(map.get("ID")); System.out.println(map.get("USERNAME")); } }