Я никогда раньше не встречал такой проблемы, google не помогает.Spring getJdbcTemplate(). Update insert dynamic object
Я использую Spring Framework, JdbcDaoSupport
, getJdbcTemplate().update()
способ. У меня динамический запрос с 2 необязательными параметрами.
Не знаю, как правильно вводить динамический объект. это, как я попробовать:
StringBuilder sbUserRegQuery = new StringBuilder();
sbUserRegQuery.append("INSERT INTO users (username, password , email, enabled, datetime_condo_changed, datetime_last_login");
if(user.getCondo_id()!=null) sbUserRegQuery.append(", condo_id");
if(user.getProvider()!=null) sbUserRegQuery.append(", provider");
sbUserRegQuery.append(")");
sbUserRegQuery.append(" VALUES (?, ?, ? , ? , ?, ?");
if(user.getCondo_id()!=null) sbUserRegQuery.append(", ?");
if(user.getProvider()!=null) sbUserRegQuery.append(", ?"); //default - "local"
sbUserRegQuery.append(");");
Object regObject = new Object[]{
user.getUsername(), PasswordEncoderGenerator.main(user.getPassword()), user.getEmail(), enabled, user.getDatetime_condo_changed(), currentTimeStamp, user.getCondo_id()
};
int row = getJdbcTemplate().update(sbUserRegQuery.toString(), regObject, user.getCondo_id(), user.getProvider());
то, что я пытаюсь вставить динамический объект после regObject
. Но в этом случае порядок динамического объекта может быть изменен, а запрос не выполнен.
Как решить этот случай?
См http://stackoverflow.com/questions/35169818/make-dynamic-query-with-jdbctemplate – Pau