Advertisement
VladimirSimic

14

Mar 16th, 2018
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.31 KB | None | 0 0
  1. package application;
  2.  
  3. import java.sql.DriverManager;
  4. import java.sql.PreparedStatement;
  5. import java.sql.ResultSet;
  6. import java.sql.SQLException;
  7. import java.sql.Statement;
  8. import java.util.ArrayList;
  9. import java.util.List;
  10.  
  11. import javafx.collections.FXCollections;
  12. import javafx.collections.ObservableList;
  13.  
  14. public class DBUtil {
  15.  
  16.     // otvaranje konekcije pomocu Connection objekta
  17.  
  18.     private static java.sql.Connection con = null;
  19.     private static String url = "jdbc:mysql://localhost/zaposleni"; // url
  20.                                                                     // konekije
  21.     private static String user = "root"; // user
  22.     private static String password = ""; // pasvord
  23.  
  24.     // otvaranje konekcije
  25.  
  26.     public static void openConnection() throws SQLException {
  27.         con = DriverManager.getConnection(url, user, password);
  28.     }
  29.  
  30.     // zatvaranje konekcije
  31.     public static void closeConnection() throws SQLException {
  32.         con.close();
  33.     }
  34.  
  35.     // kreiranje baze
  36.     public static void createDatabase() throws SQLException {
  37.         openConnection(); // otvaranje konekcije
  38.         Statement sql = con.createStatement(); // kreiranje objekta Statement
  39.         // SQL komanda za kreiranje baze
  40.         sql.execute("create database if not exists zaposleni");
  41.         closeConnection(); // zatvaranje konekcije
  42.     }
  43.  
  44.     // kreiranje tabele Zaposleni u bazi
  45.     public static void createTable() throws SQLException {
  46.         openConnection(); // otvaranje konekcije
  47.         Statement sql = con.createStatement(); // kreiranje objekta Statement
  48.         // SQL komanda za kreiranje tabele
  49.         // id,ime, prezime, godine starosti i zvanje.
  50.         sql.execute("create table if not exists zaposleni( id int auto_increment, "
  51.                 + "ime varchar(20), prezime varchar(20),    "
  52.                 + "starost varchar(20)  ,zvanje varchar (20),primary key(id))");
  53.         closeConnection(); // zatvaranje konekcije
  54.     }
  55.  
  56.     // dodavanje objekta Zaposleni u tabelu
  57.     public static void addZaposleni(Zaposleni zaposleni) throws SQLException {
  58.         openConnection();
  59.         // /id,ime, prezime, godine starosti i zvanje.
  60.         PreparedStatement sql = con.prepareStatement(
  61.                 "INSERT INTO `zaposleni`( `ime`, `prezime`," + " `starost` ,`zvanje`) VALUES (?,?,?,?)");
  62.         sql.setString(1, zaposleni.getIme());
  63.         sql.setString(2, zaposleni.getPrezime());
  64.         sql.setInt(3, zaposleni.getStarost());
  65.         sql.setString(4, zaposleni.getZvanje());
  66.  
  67.         sql.execute(); // izvrsi
  68.  
  69.         closeConnection();
  70.     }
  71.  
  72.     public static List<Zaposleni> getAll() throws SQLException {
  73.         openConnection();
  74.         Statement sql = con.createStatement();
  75.         ResultSet rs = sql.executeQuery("select * from zaposleni order by id asc");
  76.         List<Zaposleni> zaposleni = new ArrayList<>();
  77.  
  78.         while (rs.next()) {
  79.  
  80.             zaposleni.add(new Zaposleni(rs.getString(2), rs.getString(2), rs.getInt(4), rs.getString(5)));
  81.  
  82.         }
  83.  
  84.         closeConnection();
  85.         return zaposleni;
  86.  
  87.     }
  88.  
  89.     public static ObservableList<Zaposleni> getAllForTable() throws SQLException {
  90.         openConnection();
  91.         Statement sql = con.createStatement();
  92.         ResultSet rs = sql.executeQuery("select * from zaposleni");
  93.         ObservableList<Zaposleni> zaposleni = FXCollections.observableArrayList();
  94.  
  95.         while (rs.next()) {
  96.  
  97.             zaposleni.add(new Zaposleni(rs.getInt(1), rs.getString(2), rs.getString(3), rs.getInt(4), rs.getString(5)));
  98.         }
  99.  
  100.         closeConnection();
  101.         return zaposleni;
  102.  
  103.     }
  104.  
  105.     // azuriranje podataka Zaposlenih u tabeli
  106.     public static void editZaposleni(Zaposleni zaposleni) throws SQLException {
  107.         openConnection();
  108.  
  109.         PreparedStatement sql = con.prepareStatement(
  110.                 "UPDATE `zaposleni` SET `ime`=?, `prezime` = ?," + " `starost` = ?,`zvanje` = ?, WHERE id =?");
  111.         sql.setString(2, zaposleni.getIme());
  112.         sql.setString(3, zaposleni.getPrezime());
  113.         sql.setInt(4, zaposleni.getStarost());
  114.         sql.setString(5, zaposleni.getZvanje());
  115.  
  116.         sql.execute(); // izvrsi
  117.  
  118.         closeConnection();
  119.     }
  120.  
  121.     public static void deleteZaposleni(Zaposleni zaposleni) throws SQLException {
  122.         openConnection();
  123.         PreparedStatement sql = con.prepareStatement("DELETE FROM `zaposleni` WHERE id =? ");
  124.         sql.setInt(1, zaposleni.getId());
  125.  
  126.         sql.execute();
  127.  
  128.         closeConnection();
  129.     }
  130.  
  131.     public static int getNextId() throws SQLException {
  132.         openConnection();
  133.         Statement sql = con.createStatement();
  134.         ResultSet rs = sql.executeQuery("select max(id) from zaposleni");
  135.         int id = 0;
  136.         while (rs.next()) {
  137.             // 2,3,4,1
  138.             id = rs.getInt(1);
  139.         }
  140.  
  141.         closeConnection();
  142.         return id + 1;
  143.  
  144.     }
  145.  
  146. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement