8-modul · 6-dars: Spring JDBC

Daraja: Ilg'or

Spring JDBC. Spring Framework bo‘yicha nazariya, amaliy namuna va mustaqil mashq.

Tushuntirish

## Dars maqsadi Spring JDBC tushunchalarini farqlash, nima uchun kerakligini izohlash va kichik misolda qo‘llash.

## Nazariya Spring JDBC JDBCni almashtiruvchi yangi database emas, uning ustidagi yordamchi abstraksiyadir. JdbcTemplate connection olish/qaytarish, statement va result set lifecycle, exception translation kabi takror kodni boshqaradi. SQL va mapping baribir dasturchi mas'uliyati. DataAccessException hierarchy checked SQLException bilan ishlashni soddalashtiradi. JdbcTemplateda odatda ? parametrlar, NamedParameterJdbcTemplateda :name ko'rinishidagi nomlangan parametrlar ishlatiladi. Nomlar ko'p parametrli SQLni o'qishni osonlashtiradi, lekin u ham parametrlarni xavfsiz bog'lashga tayanadi. RowMapper har natija qatorini obyektga aylantiradi. Bitta natija kutilgan so'rovda nol yoki ko'p qator chiqishi uchun aniq xatti-harakat belgilang. SimpleJdbcInsert insert va generated key olishni soddalashtiradi; SimpleJdbcCall stored procedure yoki function chaqirishga yordam beradi. Tranzaksiya Spring transaction manager bilan service chegarasida boshqariladi. ORM shart bo'lmagan, aniq SQL va murakkab hisobot kerak bo'lgan holatda Spring JDBC qulay tanlovdir.

## Manbalar [Moduldagi savollar yo‘nalishi](https://github.com/jlkesh/pdp_online_java_lessons/blob/main/interviewquestions/8-module%28Spring%20Introduction%29.md) [Rasmiy qo‘llanma](https://docs.spring.io/spring-framework/reference/)

Kod quyida o‘quv namunasi sifatida berilgan. To‘liq ilova uchun import, dependency va konfiguratsiya kerak bo‘lishi mumkin. SQLni faqat ajratilgan test bazasida bajaring.

Kod misoli

var params = java.util.Map.of("min", 18);
var names = namedJdbc.queryForList(
  "SELECT name FROM student WHERE age >= :min", params, String.class);
// namedJdbc — konfiguratsiya qilingan NamedParameterJdbcTemplate.

Keng tarqalgan xatolar

Mashqlar

Teglar: nazariya, pdp, modul-08

Interaktiv ko'rinish (viktorina, izohlar, tarix)