Advertisement
Guest User

Untitled

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