Die übergabe von array-Objekts in jdbc Abfrage

Bin ich eine Anwendung entwickeln, in die ich vergleichen möchten, in der Liste von Telefonnummern aus dem mobilen Gerät mit Datenbank(MYSQL). Ich bin vorbei an Handy-Nummern als array-Liste.

hier ist mein code:

ArrayList<String> arrayList = new ArrayList<String>();
    arrayList.add("1212121212");
    arrayList.add("1234567890");
    arrayList.add("1515151515");
    arrayList.add("1111111111");
    arrayList.add("2222222222");
    arrayList.add("3333333333");

    List<UserDO> userDOs = userDAOImpl.getExistingMobileNumber(arrayList);

Der obige code ist in meinem test-Fall und der folgende code ist meine Datenbank-Abfrage für die Auswahl Handy-Nummer

private static final String SELECT_MOBILE_NUMBER = "SELECT USER_ID, USER_NAME, REGISTRATION_ID, MOBILE_NUMBER FROM USER WHERE MOBILE_NUMBER IN (?)";

Hier ist mein DAOImpl code:

public List<UserDO> getExistingMobileNumber(ArrayList<String> mobileNumbers) throws UserDataException {
    JdbcTemplate jd = this.getJdbctemplate();
    List<UserDO> userDOs = jd.query(SELECT_MOBILE_NUMBER, new Object[] { mobileNumbers }, new RowMapper<UserDO>(){

        @Override
        public UserDO mapRow(ResultSet rs, int rowNum) throws SQLException {
            UserDO userDO = new UserDO();
            userDO.setMobileNumber(rs.getString(4));
            return userDO;
        }

    });
    return userDOs;
}

Eigentlich mein problem ist wenn ich den pass mobile als string wie folgender code

     List<UserDO> userDOs = jd.query(SELECT_MOBILE_NUMBER, new Object[] { "2222222222" }, new RowMapper<UserDO>(){
......
......
}
}

es ist in Ordnung arbeiten,seine Angabe der erwarteten Ausgang.Aber wenn ich den pass als "mobileNumbers" statt "2222222222" seine geben nicht erwarteten Ausgang.Alle erklären mir,können wir pass-array-list-Objekts in jdbc-Template Query().Wenn ja, wie können wir Sie bestehen?

Vielen Dank im Voraus

Schreibe einen Kommentar