Ik ben sinds een tijdje bezig met java, maar ik heb het gevoel dat mijn structuur toch fout zit (ik kan niet beschrijven waarom, maar zo voelt het
).
Ik denk dat ik het het beste kan beschrijven aan de hand van 2 van mijn classes, zodat jullie kunnen zien hoe deze met elkaar werken, let wel: dit is geen scriptrequest of zoek de bugs, maar ik vraag puur om tips om mijn structuur te verbeteren.
Ik hoop dat jullie me een schop in de goede richting kunnen geven
Ik denk dat ik het het beste kan beschrijven aan de hand van 2 van mijn classes, zodat jullie kunnen zien hoe deze met elkaar werken, let wel: dit is geen scriptrequest of zoek de bugs, maar ik vraag puur om tips om mijn structuur te verbeteren.
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
| //Database.java package bean; import java.sql.*; import interfaces.DatabaseInformation; public class Database implements DatabaseInformation { // classe variabelen public ResultSet resultset = null; public Connection connection = null; public Statement statement = null; // constructor public Database() { } // opent de verbinding met de database en geeft een connection object terug public Connection openConnection() { try { Class.forName(DatabaseInformation.databaseDriver); connection = DriverManager.getConnection(DatabaseInformation.databaseConnection); } catch(Exception e) { e.printStackTrace(); } return connection; } // sluit de verbinding met de database public void closeConnection(Connection c) { try { c.close(); } catch(Exception e) { e.printStackTrace(); } } // voert een selectie query uit op de database public ResultSet handleSelectQuery(String q, Connection c) { try { statement = c.createStatement(); resultset = statement.executeQuery(q); } catch(Exception e) { e.printStackTrace(); } return resultset; } // voert een query uit op de database (delete, update, insert etc) public boolean handleUpdateQuery(String q, Connection c) { boolean succes = false; try { statement = c.createStatement(); statement.executeUpdate(q); succes = true; } catch(Exception e) { e.printStackTrace(); } return succes; } } |
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
| // Artikelsoort.java // Om de code wat in te korten heb ik de get en set methoden verwijderd uit dit voorbeeld package bean; import java.util.Vector; import java.sql.*; import bean.Database; import interfaces.DatabaseInformation; public class Artikelsoort { private int soortid; private String naam; private int btw; private String verhuur; private String SQLString; private Database database = new Database(); private Connection connection = database.openConnection(); private ResultSet resultset = null; private Statement statement = null; public Artikelsoort() { } public Artikelsoort returnArtikelsoort(int id) { Artikelsoort artikelSoort = new Artikelsoort(); SQLString = "SELECT * FROM artikelsoort WHERE soortid = "+ id; try { resultset = database.handleSelectQuery(SQLString, connection); while (resultset.next()) { artikelSoort.setSoortid(resultset.getInt(DatabaseInformation.ARTIKELSOORT_TBL_SOORTID)); artikelSoort.setNaam(resultset.getString(DatabaseInformation.ARTIKELSOORT_TBL_NAAM)); artikelSoort.setVerhuur(resultset.getString(DatabaseInformation.ARTIKELSOORT_TBL_VERHUUR)); artikelSoort.setBtw(Integer.parseInt(resultset.getString(DatabaseInformation.ARTIKELSOORT_TBL_BTW))); } } catch(Exception e) { e.printStackTrace(); } return artikelSoort; } public Vector returnArtikelsoortLijst() { Vector artikelSoortLijst = new Vector(); SQLString = "SELECT * FROM artikelsoort"; try { resultset = database.handleSelectQuery(SQLString, connection); while (resultset.next()) { Artikelsoort artikelSoort = new Artikelsoort(); artikelSoort.setSoortid(resultset.getInt(DatabaseInformation.ARTIKELSOORT_TBL_SOORTID)); artikelSoort.setNaam(resultset.getString(DatabaseInformation.ARTIKELSOORT_TBL_NAAM)); artikelSoort.setVerhuur(resultset.getString(DatabaseInformation.ARTIKELSOORT_TBL_VERHUUR)); artikelSoort.setBtw(Integer.parseInt(resultset.getString(DatabaseInformation.ARTIKELSOORT_TBL_BTW))); artikelSoortLijst.addElement(artikelSoort); } } catch(Exception e) { e.printStackTrace(); } return artikelSoortLijst; } } |
Ik hoop dat jullie me een schop in de goede richting kunnen geven