от
Я пытаюсь выполнить простую процедуру, используя simpleJdbcCall и он возвращает значение null. Вот моя процедура
CREATE DEFINER=`root`@`localhost` PROCEDURE `user_details_procedure`(IN id integer)
BEGIN
 Select name from userdetails where user_Id = id;
END
Таблица
select * from userdetails

user_Id name   age      city          country   
1   Sam 35  Panama City USA
2   Ronaldo 45  Rio Brazil
POJO-объект
public class Placeholder {
    private String firstName;
   //getter and setter
}
Дао
public class SomeDao {

    private SimpleJdbcCall procReadActor;

    public void setDataSource(DataSource dataSource) {
        this.procReadActor = new SimpleJdbcCall(dataSource).withProcedureName("user_details_procedure");
    }

    public Placeholder getName(int i) {
        SqlParameterSource in = new MapSqlParameterSource().addValue("user_Id", i);
        Map out = procReadActor.execute(in);
        Placeholder actor = new Placeholder();
        actor.setFirstName((String) out.get("name"));
        return actor;
    }
@Подгружен частная статические SomeDao someDao;
@Autowired
private UserDetailsService userDetailsService;

@GetMapping("/getname/{id}")
public Placeholder getname(@PathVariable("id") Integer id) {
    return someDao.getName(1);
}
приложения.свойства
spring.datasource.url=jdbc:mysql://localhost:3306/demo
spring.datasource.username=root
spring.datasource.password=test
spring.datasource.driver

Ваш ответ

Отображаемое имя (по желанию):
Конфиденциальность: Ваш электронный адрес будет использоваться только для отправки уведомлений.
Анти-спам проверка:
Чтобы избежать проверки в будущем, пожалуйста войдите или зарегистрируйтесь.
...