Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package adreli.app.server;
- import adreli.app.base.BaseDataManager;
- import adreli.app.base.Logger;
- import adreli.app.base.Utils;
- import java.sql.*;
- public class DatabaseDataManager extends BaseDataManager {
- private Connection connection = null;
- /**
- * @param logger
- * @param clientIp
- */
- public DatabaseDataManager(Logger logger, String clientIp) {
- this.logger = logger;
- this.clientIp = clientIp;
- try {
- Class.forName("com.mysql.cj.jdbc.Driver");
- connection = DriverManager
- .getConnection("jdbc:mysql://localhost/adreli?" +
- "user=root" +
- "&useUnicode=true" +
- "&useJDBCCompliantTimezoneShift=true" +
- "&useLegacyDatetimeCode=false" +
- "&serverTimezone=UTC");
- } catch (SQLException e) {
- logger.writeLog("Bei der Verbindung zur Datenbank ist ein" +
- "Fehler aufgetreten.", clientIp);
- } catch (ClassNotFoundException e) {
- logger.writeLog("Der Datenbanktreiber konnte nicht gefunden " +
- "werden.",
- clientIp);
- }
- }
- /**
- * Methode um die Daten zu speichern.
- *
- * @param buffer Aktuell im Programm gehaltene Daten
- */
- @Override
- public void saveData(String[][] buffer) {
- if (connection != null) {
- try {
- PreparedStatement preparedStatement = connection
- .prepareStatement("insert into adreli values " +
- "( ?, ?, ?, ?, ?, ?, ?, ?, ?)");
- for (String[] entry : buffer) {
- // preparedStatement.setString(0, entry[Utils.NUMBER]);
- preparedStatement.setString(1, entry[Utils.NAME]);
- preparedStatement.setString(2, entry[Utils.VORNAME]);
- preparedStatement.setString(3, entry[Utils.ANREDE]);
- preparedStatement.setString(4, entry[Utils.STRASSE]);
- preparedStatement.setString(5, entry[Utils.PLZ]);
- preparedStatement.setString(6, entry[Utils.ORT]);
- preparedStatement.setString(7, entry[Utils.TELEFON]);
- preparedStatement.setString(8, entry[Utils.FAX]);
- preparedStatement.setString(9, entry[Utils.BEMERKUNG]);
- preparedStatement.executeUpdate();
- }
- } catch (SQLException e) {
- logger.writeLog("Beim Speichern der Datensätze ist ein Fehler " +
- "aufgetreten.",
- clientIp);
- }
- } else {
- logger.writeLog("Datenbankverbindung nicht aufgebaut. Es ist " +
- "nicht möglich Daten zu schreiben.", clientIp);
- }
- }
- /**
- * Methode um die Daten zu lesen.
- *
- * @return Ausgelesene Daten
- */
- @Override
- public String[][] readData() {
- String[][] buffer = new String[0][10];
- if (connection != null) {
- try {
- Statement s = connection.createStatement();
- s.executeQuery("SELECT * FROM adreli;");
- ResultSet rs = s.getResultSet();
- int count = 0;
- while (rs.next()) {
- String[] entry = new String[10];
- entry[Utils.NAME] = rs.getString(Utils.NAME);
- entry[Utils.VORNAME] = rs.getString(Utils.VORNAME);
- entry[Utils.ANREDE] = rs.getString(Utils.ANREDE);
- entry[Utils.STRASSE] = rs.getString(Utils.STRASSE);
- entry[Utils.PLZ] = rs.getString(Utils.PLZ);
- entry[Utils.ORT] = rs.getString(Utils.ORT);
- entry[Utils.TELEFON] = rs.getString(Utils.TELEFON);
- entry[Utils.FAX] = rs.getString(Utils.FAX);
- entry[Utils.BEMERKUNG] = rs.getString(Utils.BEMERKUNG);
- int index = Utils.getSmallestEmptyArrayIndex(buffer);
- if (index == -1) {
- buffer = Utils.expandArray(buffer);
- }
- buffer[buffer.length - 1] = entry;
- ++count;
- }
- rs.close();
- s.close();
- } catch (SQLException e) {
- logger.writeLog("Fehler beim Lesen der Daten aus der Datenbank",
- clientIp);
- }
- }
- return buffer;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement