Merhabalar arkadaşlar, Sitemizi programlama ile ilgilenen bütün arkadaşlarımızın türkçe içerik konusunda çektiği sıkıntılar düşünülerek soru/cevap şeklinde bir etkileşimde bulunabilmesi için kurduk. Umuyoruz hepimiz için güzel bir deneyim olur. Hasscript Ekibi

0
Spring data stored procedure nasıl çağrılır?

Açık 1 Cevaplar 21 Gösterim Java
Spring data kullanırken elimdeki stored procedure nasıl çağırabilirim?

1 cevap

0

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.

(4.5k puan)