Попытка получить доступ к параметрам вывода OS400 / хранимой процедуры из Java с помощью Spring JdbcTemplate - PullRequest
1 голос
/ 16 марта 2012

Попытка получить доступ к выходным параметрам хранимой процедуры OS400 / DB2 из Java с помощью Spring JdbcTemplate.Последний параметр моей хранимой процедуры - это параметр ввода / вывода, если запись будет обновлена, я вернусь "Y" из основного кадра.Может кто-нибудь, пожалуйста, дайте мне близко о том, как получить доступ ко 2-му параметру и посмотреть, если это "Y"

XmlBeanFactory beanFactory = new XmlBeanFactory(new ClassPathResource("as400.xml"));
DataSource ds = (DataSource) beanFactory.getBean("dataSource");
jdbc = new JdbcTemplate(ds);
int res= jdbc.update("{CALL TESTONE(?,?)}", new Object[] { new String("JOHN"), new String("N") });

1 Ответ

1 голос
/ 17 марта 2012

Чтобы получить значения из хранимой процедуры, вам нужно создать собственный класс, который расширяет StoredProcedure, объявить ваши параметры, а затем изучить параметры out, возвращаемые из вызова execute:

public final class MyProc extends StoredProcedure {

    public MyProc() {
        super(myDataSource, "TESTONE");
        declareParameter(new SqlParameter("param1", Types.CHAR));
        declareParameter(new SqlOutParameter("param2", Types.CHAR));
    }

    public String execute(Map<?, ?> inParams) {
        Map results = super.execute(inParams);
        return (String) results.get("param2");
    }
}
...