0% found this document useful (0 votes)
5 views6 pages

SQL JV

Uploaded by

mustafasadoglu86
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views6 pages

SQL JV

Uploaded by

mustafasadoglu86
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

MySQL'de kullanıcı girişi yapmak için genellikle bir web uygulaması veya başka bir arayüz

kullanılır. Bu işlem, kullanıcı adı ve şifre gibi bilgilerin veritabanında saklanması ve bu bilgilerin
doğrulanması ile gerçekleştirilir. Aşağıda, temel bir MySQL kullanıcı girişi işleminin nasıl
yapılabileceğine dair adımlar bulunmaktadır:

1. Veritabanı Tablosu Oluşturma

İlk olarak, kullanıcı bilgilerini saklamak için bir tablo oluşturmanız gerekiyor.
Örneğin, kullanıcı adında bir tablo oluşturalım:

CREATE TABLE kullanıcı (

id INT AUTO_INCREMENT PRIMARY KEY,

users VARCHAR(50) NOT NULL UNIQUE,

password VARCHAR(255) NOT NULL

);

Bu tabloda, username kullanıcı adını, password ise kullanıcının şifresini saklayacak. Şifrelerin
güvenliği için password alanını hash'lenmiş olarak saklamanız önemlidir.

2. Kullanıcı Kaydı

Kullanıcı kaydı sırasında, kullanıcı adı ve şifre bilgilerini users tablosuna ekleyebilirsiniz. Şifreyi
hash'lemek için SHA2() veya bcrypt gibi yöntemler kullanabilirsiniz:

INSERT INTO users (username, password)

VALUES ('kullanici_adi', SHA2('sifre', 256));

3. Kullanıcı Girişi

Kullanıcı girişi sırasında, kullanıcının girdiği kullanıcı adı ve şifre bilgilerini veritabanında
sorgulayarak doğrulama yapabilirsiniz:

SELECT * FROM users

WHERE username = 'kullanici_adi'

AND password = SHA2('sifre', 256);

Eğer bu sorgu bir sonuç döndürürse, kullanıcı adı ve şifre doğru demektir. Eğer sonuç dönmezse,
kullanıcı adı veya şifre yanlış demektir.

4. Java Projesi Oluşturma

Java'da MySQL veritabanına bağlanmak için JDBC (Java Database Connectivity) kullanacağız.
Öncelikle, projenize MySQL JDBC sürücüsünü ekleyin. Maven
kullanıyorsanız, [Link] dosyanıza aşağıdaki bağımlılığı ekleyin:

<dependency> <groupId>mysql</groupId>

<artifactId>mysql-connector-java</artifactId>

<version>8.0.33</version>

</dependency>
5. Güvenlik Önlemleri

• SQL Injection: SQL sorgularınızda kullanıcı girdilerini doğrudan kullanmaktan kaçının.


Bunun yerine hazırlanmış ifadeler (prepared statements) kullanın.

• Şifre Güvenliği: Şifreleri düz metin olarak saklamayın. Her zaman hash'lenmiş olarak
saklayın.

• HTTPS: Kullanıcı girişi gibi hassas bilgilerin iletilmesi sırasında HTTPS kullanın.

Bu adımlar, temel bir MySQL kullanıcı girişi sisteminin nasıl oluşturulabileceğini göstermektedir.
Daha karmaşık sistemlerde, oturum yönetimi, yetkilendirme ve diğer güvenlik önlemleri de
dikkate alınmalıdır.

KAYIT YAPILAN KULLANICILARI VERİ TABANINDA TUTMA

Java'da kullanıcı kayıt bilgilerini veritabanında tutmak için JDBC (Java Database Connectivity)
API'sini kullanabilirsiniz. Aşağıda, MySQL veritabanı kullanarak kullanıcı kaydı yapan ve bu
bilgileri veritabanında saklayan basit bir Java örneği bulabilirsiniz.

1. Gereksinimler

• MySQL veritabanı kurulu ve çalışıyor olmalı.

• mysql-connector-java kütüphanesi projeye eklenmeli. (Maven veya manuel olarak


ekleyebilirsiniz.)

2. Veritabanı Tablosu Oluşturma

MySQL'de users adında bir tablo oluşturalım:

CREATE DATABASE mydatabase;

USE mydatabase;

CREATE TABLE users (

id INT AUTO_INCREMENT PRIMARY KEY,

username VARCHAR(50) NOT NULL UNIQUE,

email VARCHAR(100) NOT NULL UNIQUE,

password_hash VARCHAR(255) NOT NULL,

created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP

);

3. Java Projesi Oluşturma

Aşağıdaki adımları takip ederek bir Java projesi oluşturabilirsiniz:

a. Maven Projesi İçin [Link] Dosyası

Eğer Maven kullanıyorsanız, [Link] dosyasına MySQL bağlantısı için gerekli bağımlılığı ekleyin:
b. Java Kodu

Aşağıda, kullanıcı kaydı yapan ve bu bilgileri MySQL veritabanına kaydeden bir Java sınıfı
bulunmaktadır:

import [Link];

import [Link];

import [Link];

import [Link];

import [Link];

public class UserRegistration {

// Veritabanı bağlantı bilgileri

private static final String DB_URL = "jdbc:mysql://localhost:3306/mydatabase";

private static final String DB_USER = "root";

private static final String DB_PASSWORD = "yourpassword";

public static void main(String[] args) {

Scanner scanner = new Scanner([Link]);

// Kullanıcıdan bilgileri al

[Link]("Kullanıcı adı: ");

String username = [Link]();

[Link]("E-posta: ");

String email = [Link]();

[Link]("Şifre: ");

String password = [Link]();

// Kullanıcıyı kaydet

registerUser(username, email, password);

[Link]();

private static void registerUser(String username, String email, String password) {

// Şifreyi hash'le (Bu örnekte basitçe gösteriliyor, gerçekte bcrypt gibi bir kütüphane kullanın)

String passwordHash = hashPassword(password);

// SQL sorgusu

String sql = "INSERT INTO users (username, email, password_hash) VALUES (?, ?, ?)";
try (Connection connection = [Link](DB_URL, DB_USER,
DB_PASSWORD);

PreparedStatement preparedStatement = [Link](sql)) {

// Parametreleri ayarla

[Link](1, username);

[Link](2, email);

[Link](3, passwordHash);

// Sorguyu çalıştır

int rowsInserted = [Link]();

if (rowsInserted > 0) {

[Link]("Kullanıcı başarıyla kaydedildi!");

} catch (SQLException e) {

[Link]("Hata: " + [Link]());

// Basit bir şifre hash'leme metodu (Gerçek uygulamalarda bcrypt veya benzeri kullanın)

private static String hashPassword(String password) {

// Bu örnekte basitçe hash'lenmiş gibi gösteriliyor

return [Link]([Link]());

4. Kodun Açıklaması

• Veritabanı Bağlantısı: [Link]() metodu ile MySQL veritabanına


bağlanıyoruz.

• PreparedStatement: SQL sorgularını güvenli bir şekilde çalıştırmak


için PreparedStatement kullanıyoruz. Bu, SQL Injection saldırılarını önler.

• Şifre Hash'leme: Şifreler asla düz metin olarak saklanmamalıdır. Bu örnekte basit bir
hash'leme yöntemi kullanıldı, ancak gerçek uygulamalarda bcrypt veya PBKDF2 gibi
güvenli yöntemler kullanılmalıdır.

• Kullanıcı Girdisi: Kullanıcıdan Scanner ile bilgiler alınır ve veritabanına kaydedilir.


5. Örnek Çıktı

Programı çalıştırdığınızda aşağıdaki gibi bir çıktı alabilirsiniz:

Kullanıcı adı: john_doe

E-posta: john@[Link]

Şifre: s3cur3p@ssw0rd

Kullanıcı başarıyla kaydedildi!

JAVADA MASAÜSTÜ UYGULAMA YAPMA

Java'da masaüstü uygulama oluşturmak için temel olarak Java


Swing veya JavaFX kütüphaneleri kullanılır. Bu kütüphaneler, grafiksel kullanıcı arayüzü
(GUI) oluşturmanıza olanak tanır. Aşağıda, masaüstü uygulama oluşturma adımlarını ve
gerekenleri detaylı bir şekilde bulabilirsiniz.

1. Gerekenler

Java'da masaüstü uygulama geliştirmek için aşağıdakilere ihtiyacınız var:

1. Java Development Kit (JDK):

o Java kodunu derlemek ve çalıştırmak için JDK gereklidir.

o Oracle JDK veya OpenJDK kullanabilirsiniz.

2. Entegre Geliştirme Ortamı (IDE):

o Kod yazmayı kolaylaştıran bir IDE kullanabilirsiniz.

o Önerilen IDE'ler: IntelliJ IDEA, Eclipse, NetBeans.

3. Java Swing veya JavaFX Kütüphaneleri:

o Swing, Java'nın standart GUI kütüphanesidir ve JDK ile birlikte gelir.

o JavaFX, daha modern bir kütüphanedir ve JDK 11'den itibaren ayrı bir modül
olarak gelir. JavaFX'i [Link] adresinden indirebilirsiniz.

4. JavaFX Scene Builder (Opsiyonel):

o JavaFX için görsel arayüz tasarımı yapmak için Scene Builder kullanabilirsiniz.

o Scene Builder adresinden indirebilirsiniz.

2. Java Swing ile Basit Masaüstü Uygulaması

Java Swing, JDK ile birlikte gelen bir kütüphanedir. İşte basit bir Swing uygulaması örneği:

Kod Örneği:

import [Link].*;

import [Link];

import [Link];
public class SimpleSwingApp extends JFrame {

private JButton button;

private JLabel label;

public SimpleSwingApp() {

// Pencere başlığı

setTitle("Basit Swing Uygulaması");

// Pencere boyutu

setSize(300, 200);

// Pencereyi kapatınca programın sonlanması

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

// Buton ve Label oluşturma

button = new JButton("Tıkla");

label = new JLabel("Merhaba, Dünya!");

// Butona tıklama olayı ekleme

[Link](new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

[Link]("Butona Tıklandı!");

});

// Layout Manager (Düzen Yöneticisi) ayarlama

setLayout(new [Link]());

// Bileşenleri pencereye ekleme

add(button);

add(label);

// Pencereyi görünür yapma

setVisible(true);

public static void main(String[] args) {

// GUI'yi başlatma

new SimpleSwingApp();

You might also like