czwartek, 22 grudnia 2011

CRUD – podstawowe operacje na bazach danych

CRUD.java
package kkk;

public interface CRUD {
 public void create(Osoba osoba);
 public Osoba read(int id);
 public void update(Osoba osoba);
 public void delete(int id);
}

Manager.java
package kkk;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class Manager implements CRUD {

 @Override
 public void create(Osoba c) {
  String query = "INSERT INTO OSOBA VALUES(" 
+ c.getId() + ", '" + c.getImie() + "','" + c.getNazwisko() + "');";
  try {
   polaczenieUpdate(query);
  } catch (Exception e) {
   e.printStackTrace();
  }

 }

 @Override
 public Osoba read(int id) {
  Osoba osoba = new Osoba();
  Statement statement;
  ResultSet rs;
  try {
   Class.forName("org.h2.Driver");
   Connection conn = DriverManager.getConnection("jdbc:h2:~/baza_ksiazki",
 "sa", "");
   statement = conn.createStatement();
   String query = "SELECT * FROM OSOBA where id = " + id;
   rs = statement.executeQuery(query);
   while (rs.next()) {
    osoba = new Osoba(rs.getInt("id"), 
rs.getString("IMIE"), rs.getString("nazwisko"));
   }
   conn.close();
   System.out.println(query);
  } catch (Exception e) {
   e.printStackTrace();
  }
  return osoba;
 }

 @Override
 public void update(Osoba c) {
  String query = "UPDATE Osoba SET imie='" 
+ c.getImie() + "',nazwisko='" + c.getNazwisko() + "' WHERE ID=" + c.getId()
    + ";";
  try {
   polaczenieUpdate(query);
  } catch (Exception e) {
   e.printStackTrace();
  }
 }

 @Override
 public void delete(int id) {
  String query = "DELETE from Osoba  WHERE ID=" + id + ";";
  try {
   polaczenieUpdate(query);
  } catch (Exception e) {
   e.printStackTrace();
  }
 }

 public void polaczenieUpdate(String query) {
  Statement statement;
  try {
   Class.forName("org.h2.Driver");
   Connection conn = DriverManager.getConnection("jdbc:h2:~/baza_ksiazki",
 "sa", "");
   statement = conn.createStatement();
   statement.executeUpdate(query);
   conn.close();
   System.out.println(query);
  } catch (Exception e) {
   e.printStackTrace();
  }
 }

 public void tworzenieBazy() {
  String konstruktorTabeliOsoba = "DROP TABLE IF EXISTS OSOBA; CREATE 
TABLE OSOBA(ID INT PRIMARY KEY, IMIE VARCHAR(255), NAZWISKO VARCHAR(255));";
  try {
   polaczenieUpdate(konstruktorTabeliOsoba);
  } catch (Exception e) {
   e.printStackTrace();
  }
 }

}

Main.java
package kkk;

public class Main {

 public static void main(String[] args) {
  Manager manager = new Manager();
  manager.tworzenieBazy();

  Osoba os1 = new Osoba(1, "adam", "piep");
  Osoba os2 = new Osoba(2, "tom", "kiep");

  manager.create(os1);
  manager.create(os2);

  Osoba wczytanaOsoba = manager.read(2);
  System.out.println("--- " + wczytanaOsoba.getImie() + " " 
+ wczytanaOsoba.getNazwisko() + " ---");

  Osoba os3 = new Osoba(2, "kamil", "rosol");
  manager.update(os3);

  wczytanaOsoba = manager.read(2);
  System.out.println("--- " + wczytanaOsoba.getImie() + " " 
+ wczytanaOsoba.getNazwisko() + " ---");

  manager.delete(2);
  wczytanaOsoba = manager.read(2);
  System.out.println("--- " + wczytanaOsoba.getImie() + " " 
+ wczytanaOsoba.getNazwisko() + " ---");
 }

}

Osoba.java
package kkk;

public class Osoba {
 private int  id;
 private String imie;
 private String nazwisko;

 public Osoba() {
 };

 public Osoba(int id, String imie, String nazwisko) {
  this.id = id;
  this.imie = imie;
  this.nazwisko = nazwisko;
 }

 public int getId() {
  return id;
 }

 public void setId(int id) {
  this.id = id;
 }

 public String getImie() {
  return imie;
 }

 public void setImie(String imie) {
  this.imie = imie;
 }

 public String getNazwisko() {
  return nazwisko;
 }

 public void setNazwisko(String nazwisko) {
  this.nazwisko = nazwisko;
 }

}

Brak komentarzy:

Prześlij komentarz