Advertisement
Guest User

Untitled

a guest
Jan 21st, 2020
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.11 KB | None | 0 0
  1. public class KorisniciModel {
  2. private ObservableList<Korisnik> korisnici = FXCollections.observableArrayList();
  3. private SimpleObjectProperty<Korisnik> trenutniKorisnik = new SimpleObjectProperty<>();
  4.  
  5. private static KorisniciModel instanca = null;
  6.  
  7. private Connection conn=null;
  8. private PreparedStatement stmt;
  9.  
  10. private int maksId(){
  11. try {
  12. stmt=conn.prepareStatement("Select MAX(id)+1 from korisnik");
  13. ResultSet rs=stmt.executeQuery();
  14. return rs.getInt(1);
  15. } catch (SQLException e) {
  16. e.printStackTrace();
  17. }
  18. return 1;
  19. }
  20.  
  21. public KorisniciModel() {
  22. try{
  23. if(conn==null) {
  24. conn = DriverManager.getConnection("jdbc:sqlite:korisnici.db");
  25. regenerisiBazu();
  26. }
  27. } catch(SQLException e) {
  28. System.out.println(e.getMessage());
  29. }
  30. }
  31.  
  32. private void regenerisiBazu() {
  33. Scanner ulaz = null;
  34. try {
  35. ulaz = new Scanner(new FileInputStream("korisnici.db.sql"));
  36. String sqlUpit = "";
  37. while (ulaz.hasNext()) {
  38. sqlUpit += ulaz.nextLine();
  39. if ( sqlUpit.length() > 1 && sqlUpit.charAt( sqlUpit.length()-1 ) == ';') {
  40. try {
  41. Statement stmt = conn.createStatement();
  42. stmt.execute(sqlUpit);
  43. sqlUpit = "";
  44. } catch (SQLException e) {
  45. e.printStackTrace();
  46. }
  47. }
  48. }
  49. ulaz.close();
  50. } catch (FileNotFoundException e) {
  51. System.out.println(e.getMessage());
  52. }
  53. }
  54.  
  55.  
  56.  
  57. private static void initialize() {
  58. instanca = new KorisniciModel();
  59. }
  60.  
  61. public static KorisniciModel dajInstancu() {
  62. if (instanca == null) initialize();
  63. return instanca;
  64. }
  65.  
  66.  
  67.  
  68.  
  69. public void napuni() {
  70. try {
  71.  
  72. stmt = conn.prepareStatement("SELECT id,ime, prezime, email, username, password FROM korisnik");
  73. ResultSet rs = stmt.executeQuery();
  74. while (rs.next()) {
  75. Korisnik k = new Korisnik(rs.getString(2), rs.getString(3), rs.getString(4), rs.getString(5),rs.getString(6));
  76. k.setId(rs.getInt(1));
  77. korisnici.add(k);
  78. }
  79. } catch(SQLException e) {
  80. System.out.println("Neuspješno čitanje iz baze: " + e.getMessage());
  81. }
  82.  
  83. }
  84.  
  85. public void izmijeniKorisnika(Korisnik k){
  86. try {
  87. stmt=conn.prepareStatement("UPDATE korisnik set ime=?,prezime=?,email=?,username=?,password=? where id=?");
  88. stmt.setString(1,k.getIme());
  89. stmt.setString(2,k.getPrezime());
  90. stmt.setString(3,k.getEmail());
  91. stmt.setString(4,k.getUsername());
  92. stmt.setString(5,k.getPassword());
  93. stmt.setInt(6,k.getId());
  94. stmt.executeUpdate();
  95. System.out.println(k.getId());
  96. } catch (SQLException e) {
  97. e.printStackTrace();
  98. }
  99. }
  100. public ObservableList<Korisnik> getKorisnici() {
  101. return korisnici;
  102. }
  103.  
  104. public void setKorisnici(ObservableList<Korisnik> korisnici) {
  105. this.korisnici = korisnici;
  106. }
  107.  
  108. public Korisnik getTrenutniKorisnik() {
  109. return trenutniKorisnik.get();
  110. }
  111.  
  112. public SimpleObjectProperty<Korisnik> trenutniKorisnikProperty() {
  113. return trenutniKorisnik;
  114. }
  115.  
  116. public void setTrenutniKorisnik(Korisnik trenutniKorisnik) {
  117. if(this.trenutniKorisnik.get()!=null) {
  118. izmijeniKorisnika(this.trenutniKorisnik.get());
  119. }
  120. this.trenutniKorisnik.set(trenutniKorisnik);
  121. }
  122.  
  123. public void setTrenutniKorisnik(int i) {
  124. this.trenutniKorisnik.set(korisnici.get(i));
  125. }
  126. public void diskonektuj(){
  127. try {
  128. conn.close();
  129. } catch (SQLException e) {
  130. e.printStackTrace();
  131. }
  132. conn=null;
  133. }
  134. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement