Darsliklar Java Ma'lumotlar bazasi

Java Java Ma'lumotlar bazasi

Ma’lumotlar bazasi (Database) — dastur ma’lumotini doimiy, tartibli va katta hajmda saqlash usuli. O’zgaruvchilar dastur yopilishi bilan yo’qoladi; ma’lumotlar bazasidagi ma’lumot esa saqlanib qoladi va minglab yozuv orasidan tez izlanadi. Java’da bazaga ulanish JDBC orqali amalga oshiriladi.

JDBC (Java Database Connectivity)Java dasturini ma’lumotlar bazasiga ulash va SQL so’rovlarini bajarish uchun standart API. U MySQL, PostgreSQL va boshqa bazalar bilan ishlaydi.

Bazaga ulanish

JDBC orqali ulanish DriverManager yordamida amalga oshiriladi. Ulanish, so’rov va yopish — asosiy bosqichlar:

import java.sql.Connection;
import java.sql.DriverManager;

public class Main {
    public static void main(String[] args) throws Exception {
        String url = "jdbc:mysql://localhost:3306/uzbekdevs";
        Connection ulanish = DriverManager.getConnection(url, "root", "parol");
        System.out.println("Bazaga ulandik");
        ulanish.close();
    }
}
Bazaga ulandik

getConnection bazaga ulanadi, close esa ulanishni yopadi. Ulanish satri (url) bazaning turi, manzili va nomini o’z ichiga oladi.

Jadval va SQL

Faraz qilaylik, bazada foydalanuvchilar jadvali bor. Uning tuzilishi quyidagicha:

id ism yosh
1 Farrux 26
2 Master Sherkulov 30
3 Aziz 22

Bu jadvaldan ma’lumot olish uchun SELECT so’rovi ishlatiladi.

Ma’lumot o’qish — SELECT

Statement va ResultSet orqali so’rov bajarib, natijani o’qiymiz:

import java.sql.*;

public class Main {
    public static void main(String[] args) throws Exception {
        Connection ulanish = DriverManager.getConnection(
            "jdbc:mysql://localhost:3306/uzbekdevs", "root", "parol");
        Statement st = ulanish.createStatement();
        ResultSet rs = st.executeQuery("SELECT ism, yosh FROM foydalanuvchilar");

        while (rs.next()) {
            System.out.println(rs.getString("ism") + " - " + rs.getInt("yosh"));
        }
        ulanish.close();
    }
}

Yuqoridagi SELECT ism, yosh FROM foydalanuvchilar so’rovi quyidagi natijani beradi:

ism yosh
Farrux 26
Master Sherkulov 30
Aziz 22

executeQuery so’rovni bajarib, natijani ResultSet da qaytardi. rs.next() har qatorni navbatma-navbat o’qiydi, rs.getString("ism") esa ustun qiymatini oladi.

Shart bilan izlash — WHERE

WHERE sharti bilan ma’lum yozuvlarni ajratib olish mumkin. Masalan, SELECT ism, yosh FROM foydalanuvchilar WHERE yosh > 25 so’rovi quyidagi natijani beradi:

ism yosh
Farrux 26
Master Sherkulov 30

Faqat yoshi 25 dan katta foydalanuvchilar ajratildi. WHERE — bazaning eng kuchli imkoniyatlaridan biri: u minglab yozuv orasidan kerakligini tez topadi.

Ma’lumot qo’shish — INSERT va xavfsizlik

Yangi yozuv qo’shish uchun PreparedStatement ishlatiladi. U SQL-in’ektsiya hujumlaridan himoya qiladi:

String sql = "INSERT INTO foydalanuvchilar (ism, yosh) VALUES (?, ?)";
PreparedStatement ps = ulanish.prepareStatement(sql);
ps.setString(1, "Dilnoza");
ps.setInt(2, 24);
ps.executeUpdate();

? belgilari o’rniga qiymatlar setString/setInt orqali xavfsiz qo’yiladi. Doim PreparedStatement ishlating — foydalanuvchi kiritgan ma’lumotni to’g’ridan-to’g’ri so’rovga qo’shish xavfli.

Xulosa

Bu bo’limda JDBC bilan bazaga ulanish, SELECT bilan o’qish, WHERE bilan izlash va PreparedStatement bilan xavfsiz INSERT ni ko’rib chiqdik. Ma’lumotlar bazasi — real ilovalarning yuragi. Keyingi darsda fayllar bilan ishlash bilan bu Java qo’llanmasini yakunlaymiz.