O‘ZBEKISTON RESPUBLIKASI AXBOROT
TEXNOLOGIYALARI VA KOMMUNIKATSIYALARINI
RIVOJLANTIRISH VAZIRLIGI
MUHAMMAD AL-XORAZMIY NOMIDAGI TOSHKENT
AXBOROT TEXNOLOGIYALARI UNIVERSITETI
13-Laboratoriya ishi
Mavzu: Tarmoqda ma’lumotlar bazasini yaratish
Bajardi:411-19-guruh talabasi
Xabibullayev Qodirjon
Tekshirdi: Abdullayev Ulug’bek
Toshkent 2022
27-Variant
Ishning maqsadi:
Talabalarda Java dasturlash tilining java.sql.* paketi klasslaridan
foydalanib ma’lumotlar bazasi bilan ishlovchi tarmoq dasturini yaratish
bo‘yicha ko‘nikmalar hosil qilish.
Nazariy qism: Har bir drayver tomonidan amalga oshiriladigan uchta
interfeys yordamida ma’lumotlar bazasi bilan o‘zaro bog‘lanish
mumkin:
- Statement;
Ushbu interfeys ma’lumotlar bazasiga umumiy maqsadlarda murojaat
qilish uchun ishlatiladi. Dastur ishlayotganda statik SQL ifodalarini
ishlatganda juda foydalidir. Ushbu interfeys hech qanday parametrlarni
qabul qilmaydi.
- PreparedStatement;
Ushbu interfeys SQL ifodalarini bir necha marta ishlatmoqchi
bo‘lganimizda foydalaniladi. Dastur ishlayotganida parametrlarni qabul
qiladi.
- CallableStatement;
Ushbu interfeys turli ma’lumotlar bazasi protseduralariga murojaat
qilishni xohlaganimizda foydali bo‘ladi. Bundan tashqari, dastur
ishlayotgan vaqtda parametrlarni kiritish mumkin. Statement
ekzemplyarini yaratish.
SQL so‘rovlarini bajarish uchun Statement ekzemplyarini ishlatishdan
oldin shunday ekzemplyarni yaratish lozim. Buning uchun
Connection.createStatement() metodi ishlatiladi. Kodda bu quyidagicha
ko‘rinadi:
Shundan so‘ng SQL so‘rovlarini bajarish uchun statement
ekzemplyaridan foydalanish mumkin.
Buning uchun Statement interfeysi har bir JDBC drayverini amalga
oshirilishi orqali ishlatiladigan uchta usulga ega:
- boolean execute(String SQL)
ResultSet obyekti olinishi mumkin bo‘lsa, bu metod rost mantiqiy
qiymatini qaytaradi. Aks holda, yolg‘on qaytaradi. DDL SQL
so‘rovlarini yoki dinamik SQL bajarish uchun ishlatiladi.
- int executeUpdate(String SQL)
Ushbu metod, SQL so‘rovi ta’sir qilgan jadvaldagi ustunlar sonini
qaytaradi. Ma’lum ustunlar sonini olishni xohlasak, SQL so‘rovlarni
bajarish uchun ushbu metoddan foydalanamiz.
- ResultSet executeQuery(String SQL)
Ushbu metod ResultSet ekzemplyarini qaytaradi. Ushbu metoddan SQL
so‘rovini bajarish natijasida ko‘p obyektlar olishimiz kerak bo‘lgan
hollarda foydalanamiz. Misol uchun, muayyan shartlarga javob
beradigan elementlar ro‘yxatini olishda.
Statement ekzemplyarini yopish. Natijalarni ma’lumotlar bazasiga
saqlash uchun ulanishni yopganda, Statement ekzemplyari ham xuddi
shu tarzda yopiladi. Buning uchun close() metodi qo‘llaniladi.
Statement ekzemplyarini yopish. Natijalarni ma’lumotlar bazasiga
saqlash uchun ulanishni yopganda, Statement ekzemplyari ham xuddi
shu tarzda yopiladi.
Buning uchun close() metodi qo‘llaniladi.
Koddagi ko‘rinishi:
Amalda qanday ishlashini tushunish uchun ma’lumotlar bazasidan
ma’lumotlarni olishga harakat qiladigan oddiy dasturni ko‘rib chiqiladi
Topshiriq:
Talaba laboratoriya ishi uchun shaxsiy topshiriq oladi. Bu topshiriq
bo‘yicha talaba ma’lumotlar bazasi bilan ishlovchi tarmoq dasturini
yaratadi.
Dastur kodi
/*
* To change this license header, choose License Headers in Project
Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package laboratoriya_13;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
public class CreateDB {
static final String DATABASE_URL = "jdbc:mysql://localhost/";
static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
static final String USER = "root";
static final String PASSWORD = "admin";
public static void main(String[] args) throws
ClassNotFoundException, SQLException {
Connection connection = null;
Statement statement = null;
try {
System.out.println("JDBC drayverni ro'yxatdan o'tkazish...");
Class.forName(JDBC_DRIVER);
System.out.println("Ma'lumotlar bazasiga bog'lanish...");
connection = DriverManager.getConnection(DATABASE_URL,
USER, PASSWORD);
System.out.println("Ma'lumotlar bazasini yaratish...");
statement = connection.createStatement();
String SQL = "CREATE DATABASE qodir_habibullayev";
statement.executeUpdate(SQL);
System.out.println("Ma'lumotlar bazasi muvaffaqiyatli
yaratildi...");
}
finally {
if(statement!=null){
statement.close();
}
if(connection!=null){
connection.close();
}
}
}
}
/*
* To change this license header, choose License Headers in Project
Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package laboratoriya_13;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
public class CreateTable {
static final String DATABASE_URL =
"jdbc:mysql://localhost/qodir_habibullayev";
static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
static final String USER = "root";
static final String PASSWORD = "admin";
public static void main(String[] args) throws
ClassNotFoundException, SQLException {
Connection connection = null;
Statement statement = null;
try {
System.out.println("JDBC drayverni ro'yxatdan o'tkazish...");
Class.forName(JDBC_DRIVER);
System.out.println("Ma'lumotlar bazasiga bog'lanish...");
connection = DriverManager.getConnection(DATABASE_URL,
USER, PASSWORD);
System.out.println("Tanlangan ma'lumotlar bazasida jadval
yaratish...");
statement = connection.createStatement();
String SQL = "CREATE TABLE dasturchilar "
+ "(id INTEGER not NULL, "
+ " name VARCHAR(50), "
+ " specialty VARCHAR (50), "
+ " salary INTEGER not NULL, "
+ " PRIMARY KEY (id))";
statement.executeUpdate(SQL);
System.out.println("Jadval muvaffaqiyatli yaratildi...");
} finally {
if (statement != null) {
statement.close();
}
if (connection != null) {
connection.close();
}
}
}
}
/*
* To change this license header, choose License Headers in Project
Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package laboratoriya_13;
import java.sql.*;
public class InsertRecord {
static final String DATABASE_URL =
"jdbc:mysql://localhost/qodir_habibullayev";
static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
static final String USER = "root";
static final String PASSWORD = "admin";
public static void main(String[] args) throws
ClassNotFoundException, SQLException {
Connection connection = null;
Statement statement = null;
try {
System.out.println("JDBC drayverni ro'yxatdan o'tkazish...");
Class.forName(JDBC_DRIVER);
System.out.println("Ma'lumotlar bazasiga bog'lanish...");
connection = DriverManager.getConnection(DATABASE_URL,
USER, PASSWORD);
System.out.println("Yozuvlarni qo'shish...");
statement = connection.createStatement();
String SQL = "INSERT into dasturchilar VALUE (1, 'Qodir
Khabibullayev', 'Frontend Developer', 1000)";
statement.executeUpdate(SQL);
SQL = "INSERT into dasturchilar VALUE (2, 'Sherzod
Pirmatov', 'Backend Developer', 2500)";
statement.executeUpdate(SQL);
SQL = "INSERT into dasturchilar VALUE (3, 'Aliyev Vali',
'Mobile Developer', 2000)";
statement.executeUpdate(SQL);
SQL = "INSERT into dasturchilar VALUE (4, 'Sarvar Karimov',
'Frontend Developer', 1000)";
statement.executeUpdate(SQL);
} finally {
if (statement != null) {
statement.close();
}
if (connection != null) {
connection.close();
}
}
}
}
Kod natijasi
Dostları ilə paylaş: |