Nasıl kullandığına göre değişebilen bir durum olmakla beraber iki farklı kullanıma iki farklı örnek verebilirim.
SimpleJdbcCall jdbcCall = new SimpleJdbcCall(dataSource).withProcedureName("getUyeAdi");
SqlParameterSource in = new MapSqlParameterSource().addValue("in_id", id);
Map<String, Object> out = jdbcCall.execute(in);
Uye uye = new Uye();
uye.setId(id);
uye.setName((String) out.get("out_name"));
Çok beğenmemekle beraber Mssql kullanırken fonksiyon scalar değer dönderiyorsa select sorgusundaki from kısmına eklenebiliyor. Onun için de en kolay yöntem olarak JdbcTemplate veya NamedJdbcTemplate kullanımı uygun görüyorum. Keza başka yöntemler de var ama her biri işi zorlaştırıyor gibi geliyor.
MapSqlParameterSource in = new MapSqlParameterSource();
in.addValue("id", id);
String SQL = "select name form getUye(:id)";
NamedParameterJdbcTemplate jdbcTemplateObject = new NamedParameterJdbcTemplate(dataSource);
List<Uye> uyeler = jdbcTemplateObject.query(SQL, in, new UyeMapper());
Tabi UyeMapper'i gerçekleştirmeyi unutmamak lazım.